[Prism54-devel] FreeBSD advances

Sebastien B sebastien.b at swissinfo.org
Sat Jan 22 17:21:37 UTC 2005


Hello all,
I've worked quite a lot on the FreeBSD USB driver lately. What is working 
now :
- interrupt handling is (almost) fixed
- mgmt readback is fully functional
- data reception
- filter packets
- frequency change packets (written, but untested)
- beginning of the interface with FreeBSD's 802.11 stack

While writing this, I spotted a few bugs in the Linux driver :
First, according to the source's comments, the selection of the alternate USB 
settings doesn't work. I think it fails later in p54u_alloc_buffers because 
of this line which, I think, selects alternate setting 0 regardless what 
interface should be used :
struct usb_host_interface *iface_desc = &interface->altsetting[0];
Since my device has no alternate settings, I haven't tested this.
Then, in p54u_set_filter, memory is allocated by kmalloc() and is never freed. 
The functions p54u_data_send and p54u_freq_change have the same bug.

JB, you said that understanding USB logs was a tedious job. If you have 
frequency changes, and raw data sends and receivings, what can go wrong ? Of 
course, the computer's CPU will do large parts the work which would be 
normally done by the device (can the Madwifi stack handle this ? I think 
so...), but we should obtain a functional driver quicker that if we had to 
reverse engineer everything (we'll do this later...).

Regards,
Sebastien



More information about the Prism54-devel mailing list