Prism54 USB Devel

By | February 15, 2005

Development info on the USB dongles (wusb54g). [2004-08-20 –]

A. Getting the USB dongle to work

The dongle now works with ndiswrapper under Linux / x86 thanks to the work of Jan Kiszka and Uli Lukas. Not only that, but you’ll be able to spend many more useful logs with this.

Here’s a quick howto on getting things to work. This is tested with a Linksys WUSB54G but should work with other dongles. Please report your experience with other dongles to the above developers (see prism54-devel archives for email adresses). Send logs to me (JBN).

1. Download and compile ndiswrapper

  • grab the latest ndiswapper from 0.10rc1 is what i used, i mirrored it here.
  • untar.
  • make install. For this step to work out well (ie, without linking errors), you need to run a kernel with the associated kernel tree present and the object files from the build also present.

2. Download the WinXP driver for your dongle

  • If you’re using the Linksys dongle, there are two drivers available
    • newer driver:
    • older driver:
  • If you’re using an SMC dongle, links courtesy of Eduardo Fernández

For other dongles, please use the driver that comes with your card. Please also include some information about which driver you are using (for instance the version for Linksys drivers), and try to put some links here.

3. Bring all this together

Unzip the driver. For Linksys drivers, you can directly unzip the exes. For the latest Linksys driver, this gave me a WUSB54G_20040420 directory, from which you can run ndiswrapper -I Drivers/WUSB54G.inf. After this, modprobing ndiswrapper gave me a wlan1 interface, directly configured in managed mode… what most people want. I’ll post updated information about the use soon…

4. Troubleshooting

  • if the driver reports -28 errors:I ran into a problem on a somewhat loaded hub… I can’t put the dongle and my USB printer at the same time. Both seem to take a fair amount of bandwidth, and usb_submit_urb reports -ENOSPACE error, which means bandwidth problems, for one of the devices whenever the other is connected. If you suddenly have such errors, please try to unplug some of your devices (additionally, I had to reboot, I don’t know how BW resources are allocated / unallocated), then replug them on other sockets.

B. Helping with a real cross-platform Linux driver

1. Reporting logs

There are two ways to get logs from the device

  • Getting logs from the windows driver :

The tool you want to use under windows to snoop the USB traffic is: Very easy, the latest version works like a charm under Windows 2000, and I guess under WinXP.

  • (Now prefered) Getting logs from linux+ndiswrapper

Get the modified version in my arch repo.

2. Helping to reverse-engineer the protocol

Go here for log files and extracted firmware :

Available are logs of the old driver for the Linksys dongle, courtesy of Roman Pavlyuk; logs of the SMC driver, courtesy of Eduardo Fernandez, logs of the new driver courtesy of Uli Luckas, logs of the Roper Europe device, courtesy of Abel Santin, logs of the Airvast, courtesy of Dabe Murphy. Thanks to all of you!

Work in progress

Use the Arch repository, instructions available on:

As soon as I have a decent working driver, I’ll synchronize to the prism54 main svn repository.

Are you a newbie like me and need some background to understand this page? Jean-Baptiste is willing to explore my ignorance about Prism54 Ndiswrapper and Prism54USB and perhaps get my USB wireless device working. Follow us over.

Category: USB