Messages in this thread | | | From | Andrew Miklas <> | Subject | Re: Linux Incompatibility List | Date | Sun, 29 Aug 2004 17:04:21 -0400 |
| |
Hi,
On August 28, 2004 11:21 pm, Gianni Tedesco wrote: <snip> > OK, exactly which drivers were you using to do this? When I had the > interface brought up in win2k-server with the bcmwl5.sys driver I was > seeing every few hundred milliseconds a batch of say 12 2-byte reads on > the register space to check status...
I was never able to get it going myself (If I remember correctly, there was some issue with how the interrupts were being routed on my notebook. We were doing some strange stuff to forward interrupts from the host kernel into Bochs that didn't work on all configurations.)
However, Frank Cornelis was using the Windows 98 drivers running under Win98 on pcidev+Bochs. Kendall Blake was using the Windows XP drivers and a modified ndiswrapper running under Linux also on pcidev+Bochs. Kendall told me that he generated about 400 megs of logs just looking at the card initialization. I think it was at this point I decided that decompiling the thing would be easier. :)
Anyway, you could try asking Frank and Kendall for some of the data they gathered.
kendallb () eden rutgers edu fcorneli () pandora be
<snip> > > Hrm, you're sure those variations aren't trivial? Although theres lots > of checks, I would have thought they would just be stuff like "card A > supports X, Y and Z features"?
The differences between radio chips (ex. a vs. g) aren't going to be trivial. That is to say, entirely different code paths are executed in the wlc_phy.o component. The variations caused by different board configurations don't appear to be too big (at least from the code I've looked at). Some of the variations (probably bug fixes) caused by different revisions of the chips are also a little large. But, I think it will be pretty difficult to determine how the differences in the dumps relate to differences in the hardware configuration.
> > The approach that makes the most sense to me is get 1 card working to > the point where it sends/receives packets, then look at the binaries to > see what the variations are, and how they apply to what cards and just > go fill in the blanks...
The problem is that all Broadcom's wireless hardware is supported by one big driver. If you wanted to be able to see the differences between what code is executed against each device, you'd pretty much have to decompile the whole thing, or at least do some serious debugger work. Assuming you don't want to do that, it seems you're left with doing the capture analysis on every variation, which doesn't seem practical.
<snip> > Also, you mention DMA and sending/receiving packets, exactly how much > progress have you made so far?
I'm pretty sure that they were able to get packets to go back and forth. But, the last I heard from anyone using the capture method with pcidev and Bochs was about six months ago.
-- Andrew [unhandled content-type:application/pgp-signature] | |