[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