lists.openwall.net   lists  /  announce  owl-users  owl-dev  john-users  john-dev  passwdqc-users  yescrypt  popa3d-users  /  oss-security  kernel-hardening  musl  sabotage  tlsify  passwords  /  crypt-dev  xvendor  /  Bugtraq  Full-Disclosure  linux-kernel  linux-netdev  linux-ext4  linux-hardening  linux-cve-announce  PHC 
Open Source and information security mailing list archives
 
Hash Suite: Windows password security audit tool. GUI, reports in PDF.
[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-Id: <200706041034.06353.bjorn.helgaas@hp.com>
Date:	Mon, 4 Jun 2007 10:34:06 -0600
From:	Bjorn Helgaas <bjorn.helgaas@...com>
To:	Andrey Borzenkov <arvidjaar@...l.ru>
Cc:	samuel@...tiz.org, linux-kernel@...r.kernel.org,
	Michal Piotrowski <michal.k.k.piotrowski@...il.com>,
	ambx1@....rr.com
Subject: Re: 2.6.22-rc: regression: no irda0 interface (2.6.21 was OK), smsc does not find chip

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?

> > 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.

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.

> > 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?

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);
 
-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@...r.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/

Powered by blists - more mailing lists

Powered by Openwall GNU/*/Linux Powered by OpenVZ