orinoco driver and arm

Brauel, Bjoern Bjoern.Brauel at softwareag.com
Thu Oct 4 21:46:23 EST 2001

Hi everyone,

I wanted to raise the issue with the orinoco driver on arm processors
(probably again, as Davids readme already says something about it).
It is true that the driver in its current form cannot work on arm machines
(I have an IPaq) due to whe misalignment of the dldwd_frame_hdr
structure. In fact it is the hermes_frame_desc_t struct that causes the
problem. The hermes_frame_desc_t is normally exactly 14 bytes in size,
but the gcc on arm will always align it to 16 bytes. I actually don't
believe this is a bug ! The arm processors always want to have 4-byte
aligned adresses, so the 14 bytes struct indeed has to be aligned.
-mstructure-size-boundary=8 doesn't fix that problem !

What I'd like to know is how to proceed from here. I changed the orinoco.c
in order to use a plain dldwd_frame_hdr struct not referencing
any other structs. Some other changes were needed to make this working but
now I can use the orinoco driver on my ipaq and it seems
to work just fine. But I am really not sure if having a plain struct is a
good idea, cause it will "duplicate" the structs from other headers
(hermes_drame_desc_t and ethhdr in particular) cause when they change , the
orinoco code is broken. But will eg. ethhdr ever change ?
So what do you guys think about how to proceed. Should the handhelds cvs
adopt the plain struct, or will there be a solution within orinoco ?

 cheers .. Bjoern

More information about the wireless mailing list