[linux-audio-dev] M-Audio Sonica/Ozone/MobilePre/Transit firm ware loader now works

Stephen Hassard steve at hassard.net
Wed Sep 29 15:37:05 UTC 2004


I just played around with my Sonica a little more (on i386) and found 
that after the firmware upload was attempted, madfuload was unable to 
reset the device. It looks like the device auto-reset, as the USB device 
changed (increment by one). The usb IDs have also changed.

Here's a nice big log.

-----
lsusb -v (before)

Bus 001 Device 010: ID 0763:2805 Midiman
Device Descriptor:
   bLength                18
   bDescriptorType         1
   bcdUSB               1.00
   bDeviceClass          254 Application Specific Interface
   bDeviceSubClass         1 Device Firmware Update
   bDeviceProtocol         0
   bMaxPacketSize0        64
   idVendor           0x0763 Midiman
   idProduct          0x2805
   bcdDevice            1.00
   iManufacturer           1
   iProduct                2
   iSerial                 0
   bNumConfigurations      1
   Configuration Descriptor:
     bLength                 9
     bDescriptorType         2
     wTotalLength           25
     bNumInterfaces          1
     bConfigurationValue     1
     iConfiguration          0
     bmAttributes         0x40
       Self Powered
     MaxPower              200mA
     Interface Descriptor:
       bLength                 9
       bDescriptorType         4
       bInterfaceNumber        0
       bAlternateSetting       0
       bNumEndpoints           0
       bInterfaceClass       254 Application Specific Interface
       bInterfaceSubClass      1 Device Firmware Update
       bInterfaceProtocol      0
       iInterface              3

---

lsusb -v (after)

Bus 001 Device 011: ID 0763:2005 Midiman
Device Descriptor:
   bLength                18
   bDescriptorType         1
   bcdUSB               1.10
   bDeviceClass            0 (Defined at Interface level)
   bDeviceSubClass         0
   bDeviceProtocol         0
   bMaxPacketSize0         8
   idVendor           0x0763 Midiman
   idProduct          0x2005
   bcdDevice            1.01
   iManufacturer           1
   iProduct                2
   iSerial                 0
   bNumConfigurations      1
   Configuration Descriptor:
     bLength                 9
     bDescriptorType         2
     wTotalLength          277
     bNumInterfaces          2
     bConfigurationValue     1
     iConfiguration          0
     bmAttributes         0x80
     MaxPower              200mA
     Interface Descriptor:
       bLength                 9
       bDescriptorType         4
       bInterfaceNumber        0
       bAlternateSetting       0
       bNumEndpoints           0
       bInterfaceClass         1 Audio
       bInterfaceSubClass      1 Control Device
       bInterfaceProtocol      0
       iInterface              2
       AudioControl Interface Descriptor:
         bLength                 9
         bDescriptorType        36
         bDescriptorSubtype      1 (HEADER)
         bcdADC               1.00
         wTotalLength           40
         bInCollection           1
         baInterfaceNr( 0)       1
       AudioControl Interface Descriptor:
         bLength                12
         bDescriptorType        36
         bDescriptorSubtype      2 (INPUT_TERMINAL)
         bTerminalID             1
         wTerminalType      0x0101 USB Streaming
         bAssocTerminal          0
         bNrChannels             2
         wChannelConfig     0x0003
           Left Front (L)
           Right Front (R)
         iChannelNames           0
         iTerminal               0
       AudioControl Interface Descriptor:
         bLength                10
         bDescriptorType        36
         bDescriptorSubtype      6 (FEATURE_UNIT)
         bUnitID                 2
         bSourceID               1
         bControlSize            1
         bmaControls( 0)      0x01
           Mute
         bmaControls( 1)      0x02
           Volume
         bmaControls( 2)      0x02
           Volume
         iFeature                0
       AudioControl Interface Descriptor:
         bLength                 9
         bDescriptorType        36
         bDescriptorSubtype      3 (OUTPUT_TERMINAL)
         bTerminalID             3
         wTerminalType      0x0301 Speaker
         bAssocTerminal          0
         bSourceID               2
         iTerminal               0
     Interface Descriptor:
       bLength                 9
       bDescriptorType         4
       bInterfaceNumber        1
       bAlternateSetting       0
       bNumEndpoints           0
       bInterfaceClass         1 Audio
       bInterfaceSubClass      2 Streaming
       bInterfaceProtocol      0
       iInterface              0
     Interface Descriptor:
       bLength                 9
       bDescriptorType         4
       bInterfaceNumber        1
       bAlternateSetting       1
       bNumEndpoints           1
       bInterfaceClass         1 Audio
       bInterfaceSubClass      2 Streaming
       bInterfaceProtocol      0
       iInterface              0
       Endpoint Descriptor:
         bLength                 9
         bDescriptorType         5
         bEndpointAddress     0x03  EP 3 OUT
         bmAttributes            9
           Transfer Type            Isochronous
           Synch Type               Adaptive
           Usage Type               Data
         wMaxPacketSize     0x0240  bytes 576 once
         bInterval               1
         bRefresh                0
         bSynchAddress           0
         AudioControl Endpoint Descriptor:
           bLength                 7
           bDescriptorType        37
           bDescriptorSubtype      1 (EP_GENERAL)
           bmAttributes         0x01
             Sampling Frequency
           bLockDelayUnits         1 Milliseconds
           wLockDelay           1500 Milliseconds
       AudioStreaming Interface Descriptor:
         bLength                 7
         bDescriptorType        36
         bDescriptorSubtype      1 (AS_GENERAL)
         bTerminalLink           1
         bDelay                  1 frames
         wFormatTag              1 PCM
       AudioStreaming Interface Descriptor:
         bLength                38
         bDescriptorType        36
         bDescriptorSubtype      2 (FORMAT_TYPE)
         bFormatType             1 (FORMAT_TYPE_I)
         bNrChannels             2
         bSubframeSize           3
         bBitResolution         24
         bSamFreqType           10 Discrete
         tSamFreq[ 0]         8000
         tSamFreq[ 1]        11025
         tSamFreq[ 2]        12000
         tSamFreq[ 3]        22050
         tSamFreq[ 4]        24000
         tSamFreq[ 5]        32000
         tSamFreq[ 6]        44100
         tSamFreq[ 7]        48000
         tSamFreq[ 8]        88200
         tSamFreq[ 9]        96000
     Interface Descriptor:
       bLength                 9
       bDescriptorType         4
       bInterfaceNumber        1
       bAlternateSetting       2
       bNumEndpoints           1
       bInterfaceClass         1 Audio
       bInterfaceSubClass      2 Streaming
       bInterfaceProtocol      0
       iInterface              0
       Endpoint Descriptor:
         bLength                 9
         bDescriptorType         5
         bEndpointAddress     0x03  EP 3 OUT
         bmAttributes            9
           Transfer Type            Isochronous
           Synch Type               Adaptive
           Usage Type               Data
         wMaxPacketSize     0x0180  bytes 384 once
         bInterval               1
         bRefresh                0
         bSynchAddress           0
         AudioControl Endpoint Descriptor:
           bLength                 7
           bDescriptorType        37
           bDescriptorSubtype      1 (EP_GENERAL)
           bmAttributes         0x01
             Sampling Frequency
           bLockDelayUnits         1 Milliseconds
           wLockDelay           1500 Milliseconds
       AudioStreaming Interface Descriptor:
         bLength                 7
         bDescriptorType        36
         bDescriptorSubtype      1 (AS_GENERAL)
         bTerminalLink           1
         bDelay                  1 frames
         wFormatTag              1 PCM
       AudioStreaming Interface Descriptor:
         bLength                38
         bDescriptorType        36
         bDescriptorSubtype      2 (FORMAT_TYPE)
         bFormatType             1 (FORMAT_TYPE_I)
         bNrChannels             2
         bSubframeSize           2
         bBitResolution         16
         bSamFreqType           10 Discrete
         tSamFreq[ 0]         8000
         tSamFreq[ 1]        11025
         tSamFreq[ 2]        12000
         tSamFreq[ 3]        22050
         tSamFreq[ 4]        24000
         tSamFreq[ 5]        32000
         tSamFreq[ 6]        44100
         tSamFreq[ 7]        48000
         tSamFreq[ 8]        88200
         tSamFreq[ 9]        96000
     Interface Descriptor:
       bLength                 9
       bDescriptorType         4
       bInterfaceNumber        1
       bAlternateSetting       3
       bNumEndpoints           1
       bInterfaceClass         1 Audio
       bInterfaceSubClass      2 Streaming
       bInterfaceProtocol      0
       iInterface              0
       Endpoint Descriptor:
         bLength                 9
         bDescriptorType         5
         bEndpointAddress     0x03  EP 3 OUT
         bmAttributes            9
           Transfer Type            Isochronous
           Synch Type               Adaptive
           Usage Type               Data
         wMaxPacketSize     0x0180  bytes 384 once
         bInterval               1
         bRefresh                0
         bSynchAddress           0
         AudioControl Endpoint Descriptor:
           bLength                 7
           bDescriptorType        37
           bDescriptorSubtype      1 (EP_GENERAL)
           bmAttributes         0x01
             Sampling Frequency
           bLockDelayUnits         1 Milliseconds
           wLockDelay           1500 Milliseconds
       AudioStreaming Interface Descriptor:
         bLength                 7
         bDescriptorType        36
         bDescriptorSubtype      1 (AS_GENERAL)
         bTerminalLink           1
         bDelay                  1 frames
         wFormatTag           8193 IEC1937_AC-3
       AudioStreaming Interface Descriptor:
         bLength                38
         bDescriptorType        36
         bDescriptorSubtype      2 (FORMAT_TYPE)
         bFormatType             3 (FORMAT_TYPE_III)
         bNrChannels             2
         bSubframeSize           2
         bBitResolution         16
         bSamFreqType           10 Discrete
         tSamFreq[ 0]         8000
         tSamFreq[ 1]        11025
         tSamFreq[ 2]        12000
         tSamFreq[ 3]        22050
         tSamFreq[ 4]        24000
         tSamFreq[ 5]        32000
         tSamFreq[ 6]        44100
         tSamFreq[ 7]        48000
         tSamFreq[ 8]        88200
         tSamFreq[ 9]        96000

---

./madfuload -D /proc/bus/usb/001/007 -f ma005101.bin -v -v -3
ma005101.bin: 5959 bytes read successfully
reading device descriptor ...
interface descriptor 0:0
DFU interface is 0
DFU descriptor found
transfer size is 64
waiting 32 ms
cannot reset device: (19) No such device

---

dmesg output

usb 1-1: new full speed USB device using address 7
usb 1-1: reset full speed USB device using address 7
usb 1-1: device firmware changed
usb 1-1: USB disconnect, address 7
usb 1-1: new full speed USB device using address 8

Thanks,
Steve Hassard

Clemens Ladisch wrote:
> I wrote:
> 
>>Stephen Hassard wrote:
>>
>>>Segmentation fault
>>>
>>>I'm running an AMD64 kernel in 64bits mode.
>>
>>This looks as if I'm using a wrong data type in some structure
>>(probably usbdevfs_ctrltransfer).
> 
> 
> This was indeed the problem.
> 
> I've released a new version (0.4):
>
http://sourceforge.net/project/showfiles.php?group_id=87777&package_id=94170
> 
> 
> HTH
> Clemens
> 



More information about the Linux-audio-dev mailing list