2007-08-10 21:42:10

by Michael Mauch

[permalink] [raw]
Subject: Serial ports rearranged in 2.6.22?

Hi,

until 2.6.21, I had the normal assignments for ttyS0 and ttyS1:

00:08: ttyS1 at I/O 0x2f8 (irq = 3) is a 16550A
00:09: ttyS0 at I/O 0x3f8 (irq = 4) is a 16550A

With 2.6.22 I get the names <-> ports/irqs the other way around:

00:08: ttyS0 at I/O 0x2f8 (irq = 3) is a 16550A
00:09: ttyS1 at I/O 0x3f8 (irq = 4) is a 16550A

Is this supposed to be that way? Should we reassign these names with
udev? udev-114 doesn't seem to have built-in rules to assign the
traditional names.

Or could it be related to some brokeness in my BIOS (ACPI/PNP)?

I'm using the 8250_pnp module (and it's the same with builtin serial
modules). I made sure that I did not accidentally change the BIOS
settings for the serial ports.

I'm using Gentoo, but on the lirc list was a Fedora user with the same
symptoms.

Regards...
Michael


2007-08-11 04:54:17

by Yinghai Lu

[permalink] [raw]
Subject: Re: Serial ports rearranged in 2.6.22?

On 8/10/07, Michael Mauch <[email protected]> wrote:
> Hi,
>
> until 2.6.21, I had the normal assignments for ttyS0 and ttyS1:
>
> 00:08: ttyS1 at I/O 0x2f8 (irq = 3) is a 16550A
> 00:09: ttyS0 at I/O 0x3f8 (irq = 4) is a 16550A
>
> With 2.6.22 I get the names <-> ports/irqs the other way around:
>
> 00:08: ttyS0 at I/O 0x2f8 (irq = 3) is a 16550A
> 00:09: ttyS1 at I/O 0x3f8 (irq = 4) is a 16550A
>
> Is this supposed to be that way? Should we reassign these names with
> udev? udev-114 doesn't seem to have built-in rules to assign the
> traditional names.
>
> Or could it be related to some brokeness in my BIOS (ACPI/PNP)?
>
> I'm using the 8250_pnp module (and it's the same with builtin serial
> modules). I made sure that I did not accidentally change the BIOS
> settings for the serial ports.
>
> I'm using Gentoo, but on the lirc list was a Fedora user with the same
> symptoms.

http://lkml.org/lkml/2007/7/25/455

YH

2007-08-11 15:49:41

by Michael Mauch

[permalink] [raw]
Subject: Re: Serial ports rearranged in 2.6.22?

Yinghai Lu wrote:

> On 8/10/07, Michael Mauch <[email protected]> wrote:
> > Hi,
> >
> > until 2.6.21, I had the normal assignments for ttyS0 and ttyS1:
> >
> > 00:08: ttyS1 at I/O 0x2f8 (irq = 3) is a 16550A
> > 00:09: ttyS0 at I/O 0x3f8 (irq = 4) is a 16550A
> >
> > With 2.6.22 I get the names <-> ports/irqs the other way around:
> >
> > 00:08: ttyS0 at I/O 0x2f8 (irq = 3) is a 16550A
> > 00:09: ttyS1 at I/O 0x3f8 (irq = 4) is a 16550A
> >
> > Is this supposed to be that way? Should we reassign these names with
> > udev? udev-114 doesn't seem to have built-in rules to assign the
> > traditional names.
> >
> > Or could it be related to some brokeness in my BIOS (ACPI/PNP)?
> >
> > I'm using the 8250_pnp module (and it's the same with builtin serial
> > modules). I made sure that I did not accidentally change the BIOS
> > settings for the serial ports.
> >
> > I'm using Gentoo, but on the lirc list was a Fedora user with the same
> > symptoms.
>
> http://lkml.org/lkml/2007/7/25/455

Thanks - I applied that patch and the names are back to normal again:

00:06: ttyS0 at I/O 0x3f8 (irq = 4) is a 16550A
00:07: ttyS1 at I/O 0x2f8 (irq = 3) is a 16550A

Regards...
Michael

2007-08-13 21:37:10

by Bjorn Helgaas

[permalink] [raw]
Subject: Re: Serial ports rearranged in 2.6.22?

On Saturday 11 August 2007 09:49:25 am Michael Mauch wrote:
> Yinghai Lu wrote:
>
> > On 8/10/07, Michael Mauch <[email protected]> wrote:
> > > until 2.6.21, I had the normal assignments for ttyS0 and ttyS1:
> > >
> > > 00:08: ttyS1 at I/O 0x2f8 (irq = 3) is a 16550A
> > > 00:09: ttyS0 at I/O 0x3f8 (irq = 4) is a 16550A
> > >
> > > With 2.6.22 I get the names <-> ports/irqs the other way around:
> > >
> > > 00:08: ttyS0 at I/O 0x2f8 (irq = 3) is a 16550A
> > > 00:09: ttyS1 at I/O 0x3f8 (irq = 4) is a 16550A
> > > ...
> > http://lkml.org/lkml/2007/7/25/455
>
> Thanks - I applied that patch and the names are back to normal again:
>
> 00:06: ttyS0 at I/O 0x3f8 (irq = 4) is a 16550A
> 00:07: ttyS1 at I/O 0x2f8 (irq = 3) is a 16550A

Just FYI, the patch Yinghai mentioned above was experimental, and
we decided it was the wrong solution.

For 2.6.22, the easiest workaround is to boot with the
"legacy_serial.force" option.

For 2.6.23, we reverted my patch that caused the names to be swapped:
http://git.kernel.org/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commitdiff;h=57d4810ea0d9ca58a7bcc1336607f0cede0a2abf

Bjorn

2007-08-13 22:29:33

by Michael Mauch

[permalink] [raw]
Subject: Re: Serial ports rearranged in 2.6.22?

Bjorn Helgaas wrote:

> On Saturday 11 August 2007 09:49:25 am Michael Mauch wrote:
> > Yinghai Lu wrote:
> >
> > > On 8/10/07, Michael Mauch <[email protected]> wrote:
> > > >
> > > > With 2.6.22 I get the names <-> ports/irqs the other way around:
> > > >
> > > > 00:08: ttyS0 at I/O 0x2f8 (irq = 3) is a 16550A
> > > > 00:09: ttyS1 at I/O 0x3f8 (irq = 4) is a 16550A
> > > > ...
> > > http://lkml.org/lkml/2007/7/25/455
> >
> > Thanks - I applied that patch and the names are back to normal again:
> >
> > 00:06: ttyS0 at I/O 0x3f8 (irq = 4) is a 16550A
> > 00:07: ttyS1 at I/O 0x2f8 (irq = 3) is a 16550A
>
> Just FYI, the patch Yinghai mentioned above was experimental, and
> we decided it was the wrong solution.
>
> For 2.6.22, the easiest workaround is to boot with the
> "legacy_serial.force" option.

Ah, ok, and load the legacy_serial module. Going from built-in serial to
modules I was already challenged to find serial_core, 8250, 8250_pnp
and/or 8250_pci (the help in "make menuconfig" does not seem to show the
help that is written in the Kconfig file for 8250_pnp and 8250_pci).

> For 2.6.23, we reverted my patch that caused the names to be swapped:
> http://git.kernel.org/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commitdiff;h=57d4810ea0d9ca58a7bcc1336607f0cede0a2abf

Thanks for the information - I wondered how you decided.

What about 2.6.22.x? Or should the distro kernels use that revert patch
for their stable 2.6.22 kernels?

Regards...
Michael

2007-08-13 22:34:28

by Bjorn Helgaas

[permalink] [raw]
Subject: Re: Serial ports rearranged in 2.6.22?

On Monday 13 August 2007 04:28:00 pm Michael Mauch wrote:
> Bjorn Helgaas wrote:
>
> > On Saturday 11 August 2007 09:49:25 am Michael Mauch wrote:
> > > Yinghai Lu wrote:
> > >
> > > > On 8/10/07, Michael Mauch <[email protected]> wrote:
> > > > >
> > > > > With 2.6.22 I get the names <-> ports/irqs the other way around:
> > > > >
> > > > > 00:08: ttyS0 at I/O 0x2f8 (irq = 3) is a 16550A
> > > > > 00:09: ttyS1 at I/O 0x3f8 (irq = 4) is a 16550A
> > > > > ...
> > > > http://lkml.org/lkml/2007/7/25/455
> > >
> > > Thanks - I applied that patch and the names are back to normal again:
> > >
> > > 00:06: ttyS0 at I/O 0x3f8 (irq = 4) is a 16550A
> > > 00:07: ttyS1 at I/O 0x2f8 (irq = 3) is a 16550A
> >
> > Just FYI, the patch Yinghai mentioned above was experimental, and
> > we decided it was the wrong solution.
> >
> > For 2.6.22, the easiest workaround is to boot with the
> > "legacy_serial.force" option.
>
> Ah, ok, and load the legacy_serial module. Going from built-in serial to
> modules I was already challenged to find serial_core, 8250, 8250_pnp
> and/or 8250_pci (the help in "make menuconfig" does not seem to show the
> help that is written in the Kconfig file for 8250_pnp and 8250_pci).

Yes, I messed up the legacy_serial module stuff.

> > For 2.6.23, we reverted my patch that caused the names to be swapped:
> > http://git.kernel.org/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commitdiff;h=57d4810ea0d9ca58a7bcc1336607f0cede0a2abf
>
> Thanks for the information - I wondered how you decided.
>
> What about 2.6.22.x? Or should the distro kernels use that revert patch
> for their stable 2.6.22 kernels?

I would not recommend the experimental patch (http://lkml.org/lkml/2007/7/25/455).
Using the revert patch is probably safest, since it also avoids
the module load issues.

Bjorn

2007-08-14 16:15:23

by Chuck Ebbert

[permalink] [raw]
Subject: Re: Serial ports rearranged in 2.6.22?

On 08/13/2007 06:33 PM, Bjorn Helgaas wrote:
> On Monday 13 August 2007 04:28:00 pm Michael Mauch wrote:
>> Bjorn Helgaas wrote:
>>
>>> On Saturday 11 August 2007 09:49:25 am Michael Mauch wrote:
>>>> Yinghai Lu wrote:
>>>>
>>>>> On 8/10/07, Michael Mauch <[email protected]> wrote:
>>>>>> With 2.6.22 I get the names <-> ports/irqs the other way around:
>>>>>>
>>>>>> 00:08: ttyS0 at I/O 0x2f8 (irq = 3) is a 16550A
>>>>>> 00:09: ttyS1 at I/O 0x3f8 (irq = 4) is a 16550A
>>>>>> ...
>>>>> http://lkml.org/lkml/2007/7/25/455
>>>> Thanks - I applied that patch and the names are back to normal again:
>>>>
>>>> 00:06: ttyS0 at I/O 0x3f8 (irq = 4) is a 16550A
>>>> 00:07: ttyS1 at I/O 0x2f8 (irq = 3) is a 16550A
>>> Just FYI, the patch Yinghai mentioned above was experimental, and
>>> we decided it was the wrong solution.
>>>
>>> For 2.6.22, the easiest workaround is to boot with the
>>> "legacy_serial.force" option.
>> Ah, ok, and load the legacy_serial module. Going from built-in serial to
>> modules I was already challenged to find serial_core, 8250, 8250_pnp
>> and/or 8250_pci (the help in "make menuconfig" does not seem to show the
>> help that is written in the Kconfig file for 8250_pnp and 8250_pci).
>
> Yes, I messed up the legacy_serial module stuff.
>
>>> For 2.6.23, we reverted my patch that caused the names to be swapped:
>>> http://git.kernel.org/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commitdiff;h=57d4810ea0d9ca58a7bcc1336607f0cede0a2abf
>> Thanks for the information - I wondered how you decided.
>>
>> What about 2.6.22.x? Or should the distro kernels use that revert patch
>> for their stable 2.6.22 kernels?
>
> I would not recommend the experimental patch (http://lkml.org/lkml/2007/7/25/455).
> Using the revert patch is probably safest, since it also avoids
> the module load issues.
>

Should that be submitted for 2.6.22-stable?