From: andrzej z. <ba...@za...> - 2006-09-15 00:22:33
|
On 15/09/06, Samuel Ortiz <sa...@so...> wrote: > Hi Andrzej, > > On Mon, Sep 11, 2006 at 03:37:32PM +0200, andrzej zaborowski wrote: > > Hi, > > I have a stir 4200 dongle which doesn't work with the driver from the > > kernel. The chip does have a SigmaTel logo on it and looks genuine. > > Infrared data seems to be received correctly but nothing meaningfull > > is being emitted. It turns out that the FIFOCTL register always has > > the RXERR bit set when the driver reads it so the loop in > > fifo_txwait() exits immediately and no delay between TX bytes occurs, > > so the data comes out all garbled. I made a small change in the loop > > to make it keep waiting despite RXERR or TXERR and IrDA frames can now > > be sent and received correctly. The errors are still reported, they > > just don't interrupt the loop. > I was reading the only stir4200 spec file that I have, and it seems that > bits 0 and 1 from FIFOCTL are reserved, we shouldn't care about them. > I'm actually considering removing those checks from the driver, but first I'd > like to hear from the maintainers (Paul, Stephen, Jean). They may explain > us why this check on some reserved and undocumented bits is done. Ah, cool. So my dongle complies with the specification. Thanks for checking this, I was almost sure there wouldn't be any specification availiable so I didn't bother to look for it :-) Instead I tried "spying" on a closed-source driver I had, which didn't help much. The closed-source driver does more or less the same usb requests except it sets the "magic" REG_DPLL value to 08 instead of 15. > > Cheers, > Samuel. > Regards, -- balrog 2oo6 |