You are not logged in.

#1 2013-10-15 14:19:02

Thornet
Member
Registered: 2011-12-09
Posts: 20

[Solved] Adding more serial port device nodes under /dev

Hey everyone,

I have a touchscreen computer where the touchscreen is connected via serial port. The problem I'm having is that it's connected to ttyS5 (confirmed via ubuntu and windows) but Arch is only showing serial ports up to ttyS3.
Since Ubuntu has up to ttyS31 showing up, is it safe to assume that one can arbitrarily increase how many serial ports are listed in /dev? If so, where do I change this setting?
If this is a matter of serial ports not being detected properly, what should I be looking into?

Thanks.

Last edited by Thornet (2013-10-15 17:02:34)

Offline

#2 2013-10-15 15:33:15

ewaller
Administrator
From: Pasadena, CA
Registered: 2009-07-13
Posts: 19,804

Re: [Solved] Adding more serial port device nodes under /dev

Can you tell us a bit more about the hardware?   Often (not always) serial ports are way, way down on the LPC (Low Pin Count) bus.  The I/O addresses on the LPC are legacy addresses from the ancient ISA bus days.  Those legacy addresses were well defined for up to four devices. 

The ISA bus was not discoverable, so all the drivers can do is try the addresses and see what happens.  If there are more serial devices down on the LPC bus, you have to know they are there, and provide those addresses to the drivers.   OTOH, it is possible that there exist serial devices up in the PCI bus space, but that is usually a waste of bus bandwidth.  Other options are USB based devices, but they don't generally map into /dev/ttySn


Nothing is too wonderful to be true, if it be consistent with the laws of nature -- Michael Faraday
Sometimes it is the people no one can imagine anything of who do the things no one can imagine. -- Alan Turing
---
How to Ask Questions the Smart Way

Offline

#3 2013-10-15 15:53:40

Thornet
Member
Registered: 2011-12-09
Posts: 20

Re: [Solved] Adding more serial port device nodes under /dev

It's a penmount 6000 touchscreen that's connected internally via some kind of serial connection (know for sure it's not USB to serial). On a previous model I had it working fine as it was connected to ttyS3. They've since updated the hardware and added more external serial ports so it makes sense that it would be in the higher numbering. When running on windows it was connected to COM6 and ttyS5 in Ubuntu. I was confirming the device was connected to those tty by using inputattach and getting proper input.

My knowledge of udev device detection and the like is still limited so if there's any specific information you'd like let me know.

Offline

#4 2013-10-15 16:06:02

ewaller
Administrator
From: Pasadena, CA
Registered: 2009-07-13
Posts: 19,804

Re: [Solved] Adding more serial port device nodes under /dev

Well, let's take a stab at the PCI bus.  If you could post the output of lspci -nn   
If all else fails, we can at least rule that out.  Meantime, I will do a bit of research....


Nothing is too wonderful to be true, if it be consistent with the laws of nature -- Michael Faraday
Sometimes it is the people no one can imagine anything of who do the things no one can imagine. -- Alan Turing
---
How to Ask Questions the Smart Way

Offline

#5 2013-10-15 16:19:37

Thornet
Member
Registered: 2011-12-09
Posts: 20

Re: [Solved] Adding more serial port device nodes under /dev

$ lspci -nn
00:00.0 Host bridge [0600]: Intel Corporation 4 Series Chipset DRAM Controller [8086:2e10] (rev 03)
00:02.0 VGA compatible controller [0300]: Intel Corporation 4 Series Chipset Integrated Graphics Controller [8086:2e12] (rev 03)
00:02.1 Display controller [0380]: Intel Corporation 4 Series Chipset Integrated Graphics Controller [8086:2e13] (rev 03)
00:1a.0 USB controller [0c03]: Intel Corporation 82801JD/DO (ICH10 Family) USB UHCI Controller #4 [8086:3a67] (rev 02)
00:1a.1 USB controller [0c03]: Intel Corporation 82801JD/DO (ICH10 Family) USB UHCI Controller #5 [8086:3a68] (rev 02)
00:1a.2 USB controller [0c03]: Intel Corporation 82801JD/DO (ICH10 Family) USB UHCI Controller #6 [8086:3a69] (rev 02)
00:1a.7 USB controller [0c03]: Intel Corporation 82801JD/DO (ICH10 Family) USB2 EHCI Controller #2 [8086:3a6c] (rev 02)
00:1b.0 Audio device [0403]: Intel Corporation 82801JD/DO (ICH10 Family) HD Audio Controller [8086:3a6e] (rev 02)
00:1c.0 PCI bridge [0604]: Intel Corporation 82801JD/DO (ICH10 Family) PCI Express Port 1 [8086:3a70] (rev 02)
00:1c.2 PCI bridge [0604]: Intel Corporation 82801JD/DO (ICH10 Family) PCI Express Port 3 [8086:3a74] (rev 02)
00:1c.3 PCI bridge [0604]: Intel Corporation 82801JD/DO (ICH10 Family) PCI Express Port 4 [8086:3a76] (rev 02)
00:1d.0 USB controller [0c03]: Intel Corporation 82801JD/DO (ICH10 Family) USB UHCI Controller #1 [8086:3a64] (rev 02)
00:1d.1 USB controller [0c03]: Intel Corporation 82801JD/DO (ICH10 Family) USB UHCI Controller #2 [8086:3a65] (rev 02)
00:1d.2 USB controller [0c03]: Intel Corporation 82801JD/DO (ICH10 Family) USB UHCI Controller #3 [8086:3a66] (rev 02)
00:1d.7 USB controller [0c03]: Intel Corporation 82801JD/DO (ICH10 Family) USB2 EHCI Controller #1 [8086:3a6a] (rev 02)
00:1e.0 PCI bridge [0604]: Intel Corporation 82801 PCI Bridge [8086:244e] (rev a2)
00:1f.0 ISA bridge [0601]: Intel Corporation 82801JDO (ICH10DO) LPC Interface Controller [8086:3a14] (rev 02)
00:1f.2 IDE interface [0101]: Intel Corporation 82801JD/DO (ICH10 Family) 4-port SATA IDE Controller [8086:3a00] (rev 02)
00:1f.3 SMBus [0c05]: Intel Corporation 82801JD/DO (ICH10 Family) SMBus Controller [8086:3a60] (rev 02)
00:1f.5 IDE interface [0101]: Intel Corporation 82801JD/DO (ICH10 Family) 2-port SATA IDE Controller [8086:3a06] (rev 02)
00:1f.6 Signal processing controller [1180]: Intel Corporation 82801JD/DO (ICH10 Family) Thermal Subsystem [8086:3a62] (rev 02)
02:00.0 Ethernet controller [0200]: Realtek Semiconductor Co., Ltd. RTL8111/8168B PCI Express Gigabit Ethernet controller [10ec:8168] (rev 03)
03:00.0 Ethernet controller [0200]: Realtek Semiconductor Co., Ltd. RTL8111/8168B PCI Express Gigabit Ethernet controller [10ec:8168] (rev 03)

From the research I've done I haven't been able to spot a sign of it, so I'm curious to see what we can come up with.

Last edited by Thornet (2013-10-15 16:22:10)

Offline

#6 2013-10-15 16:25:27

ewaller
Administrator
From: Pasadena, CA
Registered: 2009-07-13
Posts: 19,804

Re: [Solved] Adding more serial port device nodes under /dev

... Okay.  The good news is that the Arch kernel appears to support 32 8250 UARTS.  The bad new is that it will only instantiate 4 at start up.  The good news is that you can change that without rebuilding a kernel smile

In your boot loader, add the following parameter to your kernel command line:    nr_uarts=16     (or whatever number you deem appropriate)

Last edited by ewaller (2013-10-15 16:26:03)


Nothing is too wonderful to be true, if it be consistent with the laws of nature -- Michael Faraday
Sometimes it is the people no one can imagine anything of who do the things no one can imagine. -- Alan Turing
---
How to Ask Questions the Smart Way

Offline

#7 2013-10-15 17:01:59

Thornet
Member
Registered: 2011-12-09
Posts: 20

Re: [Solved] Adding more serial port device nodes under /dev

Alright, I tried adding nr_uarts=16 to the kernel but it didn't have any effect. Searching a bit and following the example from this page http://www.libelle-systems.com/free/win … ccess.html, I tried changing it to 8250.nr_uarts=16 which seemed to make the difference. Now I can access the other two serial ports that were hiding in there.

Thanks a bunch for the help. I will mark the thread as solved.

Offline

#8 2013-10-15 17:17:33

ewaller
Administrator
From: Pasadena, CA
Registered: 2009-07-13
Posts: 19,804

Re: [Solved] Adding more serial port device nodes under /dev

That is interesting.  That implies that the 8250 driver is a module.  The kernel I looked at had it complied in.  Perhaps I did not look at a stock kernel hmm

Anyway, glad it is solved.  But, out of curiosity, does 8250 show up in the module listed by lsmod  ?


Nothing is too wonderful to be true, if it be consistent with the laws of nature -- Michael Faraday
Sometimes it is the people no one can imagine anything of who do the things no one can imagine. -- Alan Turing
---
How to Ask Questions the Smart Way

Offline

#9 2013-10-15 17:20:46

Thornet
Member
Registered: 2011-12-09
Posts: 20

Re: [Solved] Adding more serial port device nodes under /dev

Hmm, not that I can see. I didn't know that's what it meant, that is strange.

$ lsmod
Module                  Size  Used by
joydev                  7439  0
penmount                2733  0
serport                 2259  1
i915                  372235  2
video                   9716  1 i915
i2c_algo_bit            4487  1 i915
drm_kms_helper         22653  1 i915
snd_hda_codec_realtek   150678  1
i2c_i801                7063  0
intel_agp               8720  1 i915
drm                   151749  3 drm_kms_helper,i915
r8169                  41700  0
mii                     3407  1 r8169
snd_hda_intel          20114  0
snd_hda_codec          76464  2 snd_hda_intel,snd_hda_codec_realtek
snd_pcm                60595  2 snd_hda_codec,snd_hda_intel
snd_page_alloc          5869  2 snd_pcm,snd_hda_intel
snd_hwdep               4942  1 snd_hda_codec
snd_timer              15438  1 snd_pcm
psmouse                62706  0
serio_raw               3357  0
pcspkr                  1375  0
processor              23026  0
ppdev                   4814  0
parport_pc             26590  0
i2c_core               16816  5 drm,i2c_i801,drm_kms_helper,i2c_algo_bit,i915
parport                26259  2 parport_pc,ppdev
intel_gtt              11513  3 intel_agp,i915
agpgart                22255  3 intel_gtt,drm,intel_agp
snd                    44501  6 snd_timer,snd_hwdep,snd_pcm,snd_hda_codec,snd_hda_intel,snd_hda_codec_realtek
fan                     1902  0
button                  3614  1 i915
thermal                 6531  0
evdev                   7278  8
iTCO_wdt                9941  0
iTCO_vendor_support     1577  1 iTCO_wdt
soundcore               5018  1 snd
ext4                  380969  3
crc16                   1091  1 ext4
jbd2                   60529  1 ext4
mbcache                 4281  1 ext4
sr_mod                 13244  0
sd_mod                 26211  5
cdrom                  31373  1 sr_mod
usbhid                 31263  0
pata_acpi               2388  0
hid                    66559  1 usbhid
ata_generic             2391  0
ata_piix               18270  4
libata                146606  3 ata_piix,ata_generic,pata_acpi
scsi_mod              113115  3 libata,sd_mod,sr_mod
uhci_hcd               19673  0
ehci_hcd               36010  0
usbcore               122469  4 ehci_hcd,uhci_hcd,usbhid
usb_common               622  1 usbcore

Last edited by Thornet (2013-10-15 17:21:06)

Offline

#10 2013-10-15 17:27:56

ewaller
Administrator
From: Pasadena, CA
Registered: 2009-07-13
Posts: 19,804

Re: [Solved] Adding more serial port device nodes under /dev

It means the driver is compiled into the kernel -- which is what I had seen in the kernel configuration at which I looked.

The disconnect is that the documentation I read differentiated between 8250.nr_uarts and nr_uarts  is whether the driver is configured as a module, or compiled in, respectively. 
I guess what I read was wrong or deprecated.  You proved that smile


Nothing is too wonderful to be true, if it be consistent with the laws of nature -- Michael Faraday
Sometimes it is the people no one can imagine anything of who do the things no one can imagine. -- Alan Turing
---
How to Ask Questions the Smart Way

Offline

Board footer

Powered by FluxBB