First of all, thank you for your very quick response!
> so I had to hack into the driver to program it correctly
> and make it work. Maybe you should do the same,
> changing the identifier.
As a software developer, I'm fluent in C and C++.
I'm not an experienced kernel hacker, however.
The driver is reasonably well documented, and from
what I can tell (lines 89--96 of nsc-ircc.c):
/* These are the known NSC chips */
static nsc_chip_t chips[] = {
{ "PC87108", { 0x150, 0x398, 0xea }, 0x05, 0x10, 0xf0,
nsc_ircc_probe_108, nsc_ircc_init_108 },
{ "PC87338", { 0x398, 0x15c, 0x2e }, 0x08, 0xb0, 0xf8,
nsc_ircc_probe_338, nsc_ircc_init_338 },
{ NULL }
};
the Chip PC87338 is known, as well as the commonly used
io address 0x398. I thought the 0x08 to be the chip revision (like mine),
so there shouldn't be any messing in the driver required here?
The driver seems to fail at line 187:
/* Read chip identification register */
outb(chip->cid_index, cfg_base);
id = inb(cfg_base+1);
if ((id & chip->cid_mask) == chip->cid_value) {
...}
else
...
IRDA_DEBUG(2, __FUNCTION__
"(), Wrong chip id=0x%02x\n", id);
Where to start now? Add more debugging messages in between to
follow the initialization hands on?
> AFAICS, you did not configured the BIOS to work this way or your
> notebook
If installed an older Win98SE to check that out. It's all working nice and
well there. My BIOS is crappy in this regard as it only allows to toggle
between IR OFF/ IRDA 1.0 / IRDA 1.1 ...
Happy greetings,
Axel
can do it
_______________________________________________
Linux-IrDA mailing list - [EMAIL PROTECTED]
http://www.pasta.cs.UiT.No/mailman/listinfo/linux-irda