<html>
<head>
<meta content="text/html; charset=ISO-8859-1"
http-equiv="Content-Type">
</head>
<body bgcolor="#FFFFFF" text="#000000">
<div class="moz-cite-prefix">On 11/12/2013 02:56 PM, Calvin Harrigan
wrote:<br>
</div>
<blockquote cite="mid:528287D7.20100@gmail.com" type="cite">My
memory is cloudy, but don't you have to tell the kernel about
serial ports that are not the standard com1->com4?
</blockquote>
<br>
Apparently not. All I see are reads. No attempt to do anything
beyond opening the TTY and setting it up. I tried that on my own
without this program and it did not work.<br>
<br>
<br>
Strace output below:<br>
<br>
<b><small><font face="Courier New, Courier, monospace">execve("/sbin/ch35x_80x86",
["/sbin/ch35x_80x86"], [/* 16 vars */]) = 0<br>
brk(0) = 0x88fc000<br>
access("/etc/ld.so.preload", R_OK) = -1 ENOENT (No such
file or directory)<br>
open("/etc/ld.so.cache", O_RDONLY) = 3<br>
fstat64(3, {st_mode=S_IFREG|0644, st_size=4945, ...}) = 0<br>
mmap2(NULL, 4945, PROT_READ, MAP_PRIVATE, 3, 0) = 0xb77e6000<br>
close(3) = 0<br>
open("/lib/libc.so.6", O_RDONLY) = 3<br>
read(3,
"\177ELF\1\1\1\0\0\0\0\0\0\0\0\0\3\0\3\0\1\0\0\0\340_\1\0004\0\0\0"...,
512) = 512<br>
fstat64(3, {st_mode=S_IFREG|0555, st_size=1470948, ...}) = 0<br>
mmap2(NULL, 4096, PROT_READ|PROT_WRITE,
MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0xb77e5000<br>
mmap2(NULL, 1426884, PROT_READ|PROT_EXEC,
MAP_PRIVATE|MAP_DENYWRITE, 3, 0) = 0xb7688000<br>
mmap2(0xb77df000, 12288, PROT_READ|PROT_WRITE,
MAP_PRIVATE|MAP_FIXED|MAP_DENYWRITE, 3, 0x156) = 0xb77df000<br>
mmap2(0xb77e2000, 9668, PROT_READ|PROT_WRITE,
MAP_PRIVATE|MAP_FIXED|MAP_ANONYMOUS, -1, 0) = 0xb77e2000<br>
close(3) = 0<br>
mmap2(NULL, 4096, PROT_READ|PROT_WRITE,
MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0xb7687000<br>
set_thread_area({entry_number:-1 -> 6,
base_addr:0xb76876c0, limit:1048575, seg_32bit:1, contents:0,
read_exec_only:0, limit_in_pages:1, seg_not_present:0,
useable:1}) = 0<br>
mprotect(0xb77df000, 4096, PROT_READ) = 0<br>
munmap(0xb77e6000, 4945) = 0<br>
brk(0) = 0x88fc000<br>
brk(0x891d000) = 0x891d000<br>
access("/proc/bus/pci", R_OK) = 0<br>
open("/proc/bus/pci/devices", O_RDONLY) = 3<br>
fstat64(3, {st_mode=S_IFREG|0444, st_size=0, ...}) = 0<br>
mmap2(NULL, 4096, PROT_READ|PROT_WRITE,
MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0xb77e7000<br>
read(3, "0000\t11060314\t0\t e0000008"..., 1024) = 1024<br>
read(3, " 0\t\n0004\t11064314\t0\t "..., 1024) =
1024<br>
read(3, "0\t\n0048\t104cac56\tb\t fdffe"..., 1024) =
1024<br>
read(3, " 0\t 0\tuhci_"..., 1024) = 1024<br>
read(3, " 0\t 0\t "..., 1024) = 830<br>
read(3, "", 1024) = 0<br>
close(3) = 0<br>
munmap(0xb77e7000, 4096) = 0<br>
open("/proc/bus/pci/01/00.0", O_RDONLY) = 3<br>
pread64(3, "\10\0", 2, 16) = 2<br>
pread64(3, "\10\0", 2, 16) = 2<br>
pread64(3, "\10\0", 2, 16) = 2<br>
pread64(3, "\10\0", 2, 16) = 2<br>
pread64(3, "\10\0", 2, 16) = 2<br>
close(3) = 0<br>
open("/proc/bus/pci/00/12.0", O_RDONLY) = 3<br>
pread64(3, "\1\360", 2, 16) = 2<br>
pread64(3, "\0\260", 2, 20) = 2<br>
pread64(3, "\1\360", 2, 16) = 2<br>
pread64(3, "\0\260", 2, 20) = 2<br>
pread64(3, "\1\360", 2, 16) = 2<br>
pread64(3, "\0\260", 2, 20) = 2<br>
pread64(3, "\1\360", 2, 16) = 2<br>
pread64(3, "\0\260", 2, 20) = 2<br>
pread64(3, "\1\360", 2, 16) = 2<br>
pread64(3, "\0\260", 2, 20) = 2<br>
close(3) = 0<br>
open("/proc/bus/pci/00/11.5", O_RDONLY) = 3<br>
pread64(3, "\1\362", 2, 16) = 2<br>
pread64(3, "\0\0", 2, 20) = 2<br>
pread64(3, "\1\362", 2, 16) = 2<br>
pread64(3, "\0\0", 2, 20) = 2<br>
pread64(3, "\1\362", 2, 16) = 2<br>
pread64(3, "\0\0", 2, 20) = 2<br>
pread64(3, "\1\362", 2, 16) = 2<br>
pread64(3, "\0\0", 2, 20) = 2<br>
pread64(3, "\1\362", 2, 16) = 2<br>
pread64(3, "\0\0", 2, 20) = 2<br>
close(3) = 0<br>
open("/proc/bus/pci/00/11.0", O_RDONLY) = 3<br>
pread64(3, "\0\0", 2, 16) = 2<br>
pread64(3, "\0\0", 2, 16) = 2<br>
pread64(3, "\0\0", 2, 16) = 2<br>
pread64(3, "\0\0", 2, 16) = 2<br>
pread64(3, "\0\0", 2, 16) = 2<br>
close(3) = 0<br>
open("/proc/bus/pci/00/10.4", O_RDONLY) = 3<br>
pread64(3, "\0\300", 2, 16) = 2<br>
pread64(3, "\0\300", 2, 16) = 2<br>
pread64(3, "\0\300", 2, 16) = 2<br>
pread64(3, "\0\300", 2, 16) = 2<br>
pread64(3, "\0\300", 2, 16) = 2<br>
close(3) = 0<br>
open("/proc/bus/pci/00/10.3", O_RDONLY) = 3<br>
pread64(3, "\0\0", 2, 16) = 2<br>
pread64(3, "\0\0", 2, 16) = 2<br>
pread64(3, "\0\0", 2, 16) = 2<br>
pread64(3, "\0\0", 2, 16) = 2<br>
pread64(3, "\0\0", 2, 16) = 2<br>
close(3) = 0<br>
open("/proc/bus/pci/00/10.2", O_RDONLY) = 3<br>
pread64(3, "\0\0", 2, 16) = 2<br>
pread64(3, "\0\0", 2, 16) = 2<br>
pread64(3, "\0\0", 2, 16) = 2<br>
pread64(3, "\0\0", 2, 16) = 2<br>
pread64(3, "\0\0", 2, 16) = 2<br>
close(3) = 0<br>
open("/proc/bus/pci/00/10.1", O_RDONLY) = 3<br>
pread64(3, "\0\0", 2, 16) = 2<br>
pread64(3, "\0\0", 2, 16) = 2<br>
pread64(3, "\0\0", 2, 16) = 2<br>
pread64(3, "\0\0", 2, 16) = 2<br>
pread64(3, "\0\0", 2, 16) = 2<br>
close(3) = 0<br>
open("/proc/bus/pci/00/10.0", O_RDONLY) = 3<br>
pread64(3, "\0\0", 2, 16) = 2<br>
pread64(3, "\0\0", 2, 16) = 2<br>
pread64(3, "\0\0", 2, 16) = 2<br>
pread64(3, "\0\0", 2, 16) = 2<br>
pread64(3, "\0\0", 2, 16) = 2<br>
close(3) = 0<br>
open("/proc/bus/pci/00/0f.0", O_RDONLY) = 3<br>
pread64(3, "\0\0", 2, 16) = 2<br>
pread64(3, "\0\0", 2, 16) = 2<br>
pread64(3, "\0\0", 2, 16) = 2<br>
pread64(3, "\0\0", 2, 16) = 2<br>
pread64(3, "\0\0", 2, 16) = 2<br>
close(3) = 0<br>
open("/proc/bus/pci/00/09.0", O_RDONLY) = 3<br>
pread64(3, "\0\340", 2, 16) = 2<br>
pread64(3, "\0\340", 2, 16) = 2<br>
pread64(3, "\0\340", 2, 16) = 2<br>
pread64(3, "\0\340", 2, 16) = 2<br>
pread64(3, "\0\340", 2, 16) = 2<br>
close(3) = 0<br>
open("/proc/bus/pci/00/08.0", O_RDONLY) = 3<br>
pread64(3, "\1\377", 2, 16) = 2<br>
pread64(3, "\1\376", 2, 20) = 2<br>
pread64(3, "#\0", 2, 64) = 2<br>
pread64(3, "#\0", 2, 68) = 2<br>
pread64(3, "\0\200", 2, 66) = 2<br>
pread64(3, "\1\377", 2, 16) = 2<br>
pread64(3, "\1\376", 2, 20) = 2<br>
pread64(3, "#\0", 2, 64) = 2<br>
pread64(3, "#\0", 2, 68) = 2<br>
pread64(3, "\0\200", 2, 66) = 2<br>
pread64(3, "\0\0", 2, 70) = 2<br>
pread64(3, "\1\377", 2, 16) = 2<br>
pread64(3, "\1\376", 2, 20) = 2<br>
pread64(3, "#\0", 2, 64) = 2<br>
pread64(3, "#\0", 2, 68) = 2<br>
pread64(3, "#\0", 2, 64) = 2<br>
pread64(3, "\0", 1, 65) = 1<br>
pread64(3, "\0\200", 2, 66) = 2<br>
pread64(3, "\1\377", 2, 16) = 2<br>
pread64(3, "\1\376", 2, 20) = 2<br>
pread64(3, "#\0", 2, 64) = 2<br>
pread64(3, "#\0", 2, 68) = 2<br>
pread64(3, "#\0", 2, 64) = 2<br>
pread64(3, "\0", 1, 65) = 1<br>
pread64(3, "\1\377", 2, 16) = 2<br>
pread64(3, "\1\376", 2, 20) = 2<br>
pread64(3, "#\0", 2, 64) = 2<br>
pread64(3, "#\0", 2, 68) = 2<br>
pread64(3, "#\0", 2, 64) = 2<br>
pread64(3, "\0", 1, 65) = 1<br>
pread64(3, "\0\200", 2, 66) = 2<br>
pread64(3, "\1\377", 2, 16) = 2<br>
pread64(3, "\1\376", 2, 20) = 2<br>
pread64(3, "#\0", 2, 64) = 2<br>
pread64(3, "#\0", 2, 68) = 2<br>
pread64(3, "\0\200", 2, 66) = 2<br>
pread64(3, "\1\377", 2, 16) = 2<br>
pread64(3, "\1\376", 2, 20) = 2<br>
pread64(3, "#\0", 2, 64) = 2<br>
pread64(3, "#\0", 2, 68) = 2<br>
pread64(3, "\0\200", 2, 66) = 2<br>
pread64(3, "\0\0", 2, 70) = 2<br>
open("/dev/ttyS2", O_RDWR|O_NONBLOCK) = 4<br>
ioctl(4, TIOCGSERIAL, 0xbfe9d200) = 0<br>
ioctl(4, TIOCSSERIAL, 0xbfe9d1c0) = 0<br>
close(4) = 0<br>
open("/dev/ttyS3", O_RDWR|O_NONBLOCK) = 4<br>
ioctl(4, TIOCGSERIAL, 0xbfe9d200) = 0<br>
ioctl(4, TIOCSSERIAL, 0xbfe9d1c0) = 0<br>
close(4) = 0<br>
close(3) = 0<br>
open("/proc/bus/pci/00/01.0", O_RDONLY) = 3<br>
pread64(3, "\0\0", 2, 16) = 2<br>
pread64(3, "\0\0", 2, 16) = 2<br>
pread64(3, "\0\0", 2, 16) = 2<br>
pread64(3, "\0\0", 2, 16) = 2<br>
pread64(3, "\0\0", 2, 16) = 2<br>
close(3) = 0<br>
open("/proc/bus/pci/00/00.7", O_RDONLY) = 3<br>
pread64(3, "\0\0", 2, 16) = 2<br>
pread64(3, "\0\0", 2, 16) = 2<br>
pread64(3, "\0\0", 2, 16) = 2<br>
pread64(3, "\0\0", 2, 16) = 2<br>
pread64(3, "\0\0", 2, 16) = 2<br>
close(3) = 0<br>
open("/proc/bus/pci/00/00.4", O_RDONLY) = 3<br>
pread64(3, "\0\0", 2, 16) = 2<br>
pread64(3, "\0\0", 2, 16) = 2<br>
pread64(3, "\0\0", 2, 16) = 2<br>
pread64(3, "\0\0", 2, 16) = 2<br>
pread64(3, "\0\0", 2, 16) = 2<br>
close(3) = 0<br>
open("/proc/bus/pci/00/00.3", O_RDONLY) = 3<br>
pread64(3, "\0\0", 2, 16) = 2<br>
pread64(3, "\0\0", 2, 16) = 2<br>
pread64(3, "\0\0", 2, 16) = 2<br>
pread64(3, "\0\0", 2, 16) = 2<br>
pread64(3, "\0\0", 2, 16) = 2<br>
close(3) = 0<br>
open("/proc/bus/pci/00/00.2", O_RDONLY) = 3<br>
pread64(3, "\0\0", 2, 16) = 2<br>
pread64(3, "\0\0", 2, 16) = 2<br>
pread64(3, "\0\0", 2, 16) = 2<br>
pread64(3, "\0\0", 2, 16) = 2<br>
pread64(3, "\0\0", 2, 16) = 2<br>
close(3) = 0<br>
open("/proc/bus/pci/00/00.1", O_RDONLY) = 3<br>
pread64(3, "\0\0", 2, 16) = 2<br>
pread64(3, "\0\0", 2, 16) = 2<br>
pread64(3, "\0\0", 2, 16) = 2<br>
pread64(3, "\0\0", 2, 16) = 2<br>
pread64(3, "\0\0", 2, 16) = 2<br>
close(3) = 0<br>
open("/proc/bus/pci/00/00.0", O_RDONLY) = 3<br>
pread64(3, "\10\0", 2, 16) = 2<br>
pread64(3, "\10\0", 2, 16) = 2<br>
pread64(3, "\10\0", 2, 16) = 2<br>
pread64(3, "\10\0", 2, 16) = 2<br>
pread64(3, "\10\0", 2, 16) = 2<br>
close(3) = 0<br>
exit_group(0) = ?<br>
</font></small></b><br>
</body>
</html>