[Prism54-devel] X2 firmware file format

Sebastien B sebastien.b at swissinfo.org
Sat Feb 26 17:08:14 UTC 2005


Hello,
I've got the GW3887-based WG111 from DG4OAQ today :)
There is a real problem with the firmware. I took the 2.7.0.0 firmware from 
the XH8196 driver and prepended an X2 header that I took from the USB logs. I 
just edited a field which is surely the size of the firmware to make it match 
the length of the 2.7.0.0 firmware. It didn't work. I'm afraid the firmware 
in the XH8196 is only for ISL3886-based PCI devices.
Here is what the driver printed to the syslog (there seems to be race 
conditions or similar bugs messing all up...) :

Feb 26 17:49:57 localhost kernel: Loaded SoftMAC USB driver, version 0.6.0.0
Feb 26 17:50:06 localhost kernel: usb 1-4: new high speed USB device using 
address 5
Feb 26 17:50:06 localhost kernel: sm_drv_usb_probe Vendor ID 846, Product ID 
4240
Feb 26 17:50:06 localhost kernel: sm_drv_netdev_create
Feb 26 17:50:06 localhost kernel: sm_drv_usb_upload_firmware<7>request 
firmware ok
Feb 26 17:50:06 localhost kernel: ep1 max packet size : 512
Feb 26 17:50:06 localhost kernel: Reset of the device done !FW Upload: 
Received ^[[1mrom >^[[0m 0:06 kernel: ep1 max packet size : 512
Feb 26 17:50:06 localhost kernel: LMAC description parse ok
Feb 26 17:50:06 localhost kernel: FW Upload: Received <[1mrom >^[[0m 0:06 
kernel: ep1 max packet size : 512
Feb 26 17:50:06 localhost kernel: parse of lmac OK
Feb 26 17:50:06 localhost kernel: FW Upload: Received ^M
Feb 26 17:50:06 localhost kernel: 1mrom >^[[0m 0:06 kernel: ep1 max packet 
size : 512
Feb 26 17:50:06 localhost kernel: FW Upload not successful: (ERROR^M
Feb 26 17:50:06 localhost kernel: ^[[1mrom >^[[0m rnel: ep1 max packet size : 
512)
Feb 26 17:50:06 localhost kernel: usb 1-4: bulk timeout on ep1out
Feb 26 17:50:06 localhost kernel: Failed to send FW file -110 length 512
Feb 26 17:50:06 localhost kernel: ERROR: failed to upload the firmware
Feb 26 17:50:06 localhost kernel: Prism SoftMAC USB: probe of 1-4:1.0 failed 
with error -1

So, if you find an USB Windows driver which contains a firmware that features 
a "bra" compatible with the UMAC library in the XH8196 driver, I am really 
interested. I posted some time ago an simple program which can be used to 
check easily whether a firmware is compatible, I'll put it up in a tarball 
with Makefile and so, so that you can use it easy.

I'm willing to carry on any other test with the device.

Here is the (scarce) informations I found out about the X2 header :
I analyzed logs available at JB's website and the NDISWrapper log from 
DG4OAQ's device. All the firmwares used are identical (version 2.5.8.0 built 
on Fri May 14 16:19:50), and so are the X2 headers :
78 32 20 20 00 00 02 00 68 75 00 00 35 0b 42 84
"78 32 20 20" is the X2 signature
"68 75" is the length of the firmware (if you use fwextract, you will have 4 
more spurious bytes at the end of the firmware file, because it will copy the 
size of the firmware at the end. I don't think this is a problem, though.)
I don't know what the rest means. Logs needed.

Sebastien



More information about the Prism54-devel mailing list