[Prism54-devel] USB devel Fw: prism USB driver

Feyd feyd@seznam.cz
Tue, 6 Apr 2004 16:14:19 +0200


Begin forwarded message:

Date: Mon, 29 Mar 2004 22:48:51 +0200
From: Johannes Steingraeber <Jo_Stein@web.de>
To: Feyd <feyd@seznam.cz>
Subject: Re: prism USB driver


On Mon, Mar 29, 2004 at 06:36:09PM +0200, Feyd wrote:
> The first 16 bytes of sent packets seem to be a header too, the length
> is 16 byte shorter than the whole transfer. For packets to 0x01 it is
> at 0x04.
> 
> It seems that the 0x02/0x82 are used for the oid management. The long
> packet to 0x02 is allways prefixed with a 16 byte one without data. May
> be it selects oid/something and then sends the data. I didnt really look
> at the oid_mgmt.c yet, so it only wild guess.

I left these 16 byte packet out because I had no idea so far how to
interpret them. All are constant (last one with different length info)

02 -> 00000000: 6c 06 02 00 0c 04 02 00 00 00 00 00 00 00 00 00
                            ^^^^^
                            length to packet to come with next URB to 0x02

In contrast to this constant 16 byte packages the long ones have this
continously increasing offset that's "filling in" exactly 0x2000 bytes
of data (PCI_MEM_SIZE?). Is this typical oid stuff? I don't know, my
impression was it's too much data for a single oid (structs in
isl_oid.h are never that large) but this assumption may be totally
wrong.

The pattern seems to be

- Receive data from some offset and length via ep 0x82

- Send to ep 0x02 the oid selection packet with length information
  about the data to receive with next sending.

- Write 0x80 to DEV_INT_REG via ep 0x0e

- Send 0x00 data of same length to same offset via ep 0x02

> Btw I had the 802.11 beacon on mind, as it contained MAC of my ap and
> was repeated in 100ms cycle :)

Only after the first packet to ep 0x82, which does contain more than
0xFF payload, some additionally action takes place. After that only
0xFF payload is received and nothing special happens between receive
data and send data.

Another point: how do you know that it may be possible to use old
firmware with USB device? Are you sure they have the same type of CPU?
I'm not sure about this.

Johannes
-- 
Not using mail encoding is like always writing on postcards.
Key ID = 1024D/8014B0E9
Key fingerprint = 71FB 4193 DFC5 9827 7D06  B9F4 A6C2 D414 8014 B0E9