On 06-08-12 02:51 Patrick Simmons wrote:

> I've looked at that driver, and unfortunately it doesn't yet support the 
> features I need.  I want to use it as a sort-of access point, so I'd 
> need either ad-hoc or master mode support.  Also, kernel 2.4 seems to be 
> better than 2.6 on the Ultra 5 for reasons unrelated to the zd1211 card.


> >It works on a number of architectures including PPC32 (big-endian) and
> >x86-64 (64 bit). We would love to hear about experiences with the
> >SPARC. There might be issues with alignment, SPARC doesn't support
> >unaligned memory accesses. I have tried to avoid them, but you
> >cannot know until you have tested it.
> > 
> >
> I'll download rc4 to help test the new driver on SPARC, but I'd also 
> like to get the old driver working if possible.  I thought the 
> unrewritten driver worked with PPC32 and x86-64 too, from the wiki.  Am 
> I mistaken?

It appears that way, but I'm not tracking the vendor driver
patches. The original vendor driver does only support x86.

> Thanks for telling me about SPARC not supporting unaligned memory 
> accesses.  The smiley-face error does say something about an 
> "unsupported unaligned load/store trap for the kernel."
> Are unaligned memory accesses known to be present in the old driver?  
> Would they be difficult to identify and replace, if they're there?  I 
> may be able to fix a simple issue with the old driver myself if you can 
> tell someone with my level of experience what to look for and how to 
> replace it.

If you get those messages, than sure there are such problems. It
is not particularly difficult to fix it. Look at get_unaligned() and
put_aligned() in asm/unaligned.h. The issue is to find unaligned
accesses in the code. The problem with the vendor driver is, that
they are writing into byte arrays, so you can't see it simply from
the data structures. I would guess there will be issues in the tx
and in the rx path. In the tx path there are unaligned 16 bit
values in the control set structure. The rx path might have
problems with and the combined packet info structure. (This is the
best chance for unaligned accesses in the rw driver.)

The best way is to look at the trap and find the function, where
it happened and look there for unaligned accesses.

The Linux Device Driver book http://lwn.net/Kernel/LDD3/ has a
nice section on data alignment in chapter 11. I definitely
recommend to buy it, it is a great reference.

Uli Kunitz

Using Tomcat but need to do more? Need to support web services, security?
Get stuff done quickly with pre-integrated technology to make your job easier
Download IBM WebSphere Application Server v.1.0.1 based on Apache Geronimo
Zd1211-devs mailing list - http://zd1211.ath.cx/
Unsubscribe: https://lists.sourceforge.net/lists/listinfo/zd1211-devs

Reply via email to