Re: 2.6.22-rc: regression: no irda0 interface (2.6.21 was OK), smsc does not find chip

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



On Monday 04 June 2007, Bjorn Helgaas wrote:
> On Sunday 03 June 2007 02:16:05 am Andrey Borzenkov wrote:
> > On Sunday 03 June 2007, Andrey Borzenkov wrote:
> > > Under 2.6.22-rc I lost irda0 interface - smsc claims no device present.
> > > Nothing was changed in setup except kernel version.
> > >
> > > 2.6.21:
> > >
> > > Detected unconfigured Toshiba laptop with ALi ISA bridge SMSC IrDA
> > > chip, pre-configuring device.
> > > Activated ALi 1533 ISA bridge port 0x02e8.
> > > Activated ALi 1533 ISA bridge port 0x02f8.
> > > found SMC SuperIO Chip (devid=0x5a rev=00 base=0x002e): LPC47N227
> > > smsc_superio_flat(): IrDA not enabled
>
> The "IrDA not enabled" makes me think that even in the working case,
> the BIOS left the IR port disabled.  Are there any BIOS setup switches
> that affect this port?
>

No (at least in BIOS setup screens). The closest is COM port setting 
(IRQ/DMA). This looks funny as I do not have COM interface anyway but may be 
docking station has.

> > > smsc_superio_flat(): fir: 0x2f8, sir: 0x2e8, dma: 03, irq: 7, mode:
> > > 0x02 SMsC IrDA Controller found
> > >  IrCC version 2.0, firport 0x2f8, sirport 0x2e8 dma=3, irq=7
>
> It seems strange that both FIR and SIR would use legacy COM ports
> (0x2f8 == COM2, 0x2e8 == COM4).  My HP nw8240 has SIR at 0x3e8 (COM3)
> and FIR at 0x100.
>

Well, this is how code was written. There was no autodetection anyway, it used 
hardcoded builtin (unless overridden).

> Do you know if both the FIR and SIR interfaces work?  I'm wondering if
> your irda0 only uses SIR at 0x2e8, and FIR has always been broken.
>

How can I check it? 

> > > No transceiver found. Defaulting to Fast pin select
> > > IrDA: Registered device irda0
> > >
> > >
> > > 2.6.22-rc3:
> > > Detected unconfigured Toshiba laptop with ALi ISA bridge SMSC IrDA
> > > chip, pre-configuring device.
> > > Activated ALi 1533 ISA bridge port 0x02e8.
> > > Activated ALi 1533 ISA bridge port 0x02f8.
> > > pnp: Device 00:0a activated.
> > > smsc_ircc_present(), addr 0x02e8 - no device found!
> > > pnp: Device 00:0a disabled.
> >
> > {pts/1}% cat /sys/bus/pnp/devices/00:0a/resources
> > state = active
> > io 0x100-0x107
> > io 0x2e8-0x2ef
> > irq 5
> > dma 1
>
> The PNP probe I added expects SIR at the first range and FIR at the
> second.  I would think the 0x2e8 range would be SIR, since it's compatible
> with a COM port.  Is it possible the BIOS just reports these in the
> opposite order, with FIR first and SIR second?  Can you try the patch
> below?
>

It does not work unfortunately:

Detected unconfigured Toshiba laptop with ALi ISA bridge SMSC IrDA chip, 
pre-configuring device.
Activated ALi 1533 ISA bridge port 0x02e8.
Activated ALi 1533 ISA bridge port 0x02f8.
pnp: Device 00:0a activated.
smsc_ircc_pnp_probe(): fir 0x100 sir 0x2e8 dma 1 irq 5
High: 0x11, Chip 0x0
smsc_ircc_present(), addr 0x0100 - no device found!
pnp: Device 00:0a disabled.


> Index: linux-2.6/drivers/net/irda/smsc-ircc2.c
> ===================================================================
> --- linux-2.6.orig/drivers/net/irda/smsc-ircc2.c	2007-06-04
> 10:21:46.000000000 -0600 +++
> linux-2.6/drivers/net/irda/smsc-ircc2.c	2007-06-04 10:21:57.000000000 -0600
> @@ -386,8 +386,8 @@
>  	      pnp_dma_valid(dev, 0) && pnp_irq_valid(dev, 0)))
>  		return -EINVAL;
>
> -	sirbase = pnp_port_start(dev, 0);
> -	firbase = pnp_port_start(dev, 1);
> +	firbase = pnp_port_start(dev, 0);
> +	sirbase = pnp_port_start(dev, 1);
>  	dma = pnp_dma(dev, 0);
>  	irq = pnp_irq(dev, 0);


Attachment: signature.asc
Description: This is a digitally signed message part.


[Index of Archives]     [Kernel Newbies]     [Netfilter]     [Bugtraq]     [Photo]     [Stuff]     [Gimp]     [Yosemite News]     [MIPS Linux]     [ARM Linux]     [Linux Security]     [Linux RAID]     [Video 4 Linux]     [Linux for the blind]     [Linux Resources]
  Powered by Linux