FAQ Search Today's Posts Mark Forums Read
» Video Reviews

» Linux Archive

Linux-archive is a website aiming to archive linux email lists and to make them easily accessible for linux users/developers.


» Sponsor

» Partners

» Sponsor

Go Back   Linux Archive > Debian > Debian Kernel

 
 
LinkBack Thread Tools
 
Old 09-08-2008, 07:38 PM
Nick Leverton
 
Default Bug#498293: linux-image-2.6.26-1-686: mos7840 USB serial driver fails to work and causes kernel OOPS with 2.6.26-4

Package: linux-image-2.6.26-1-686
Version: 2.6.26-4
Severity: serious
Justification: lenny/rc-policy

I have a USB "Express" twin port serial adaptor, which identifies itself
as USB ID 9710:7840 MosChip Semiconductor. This uses the mos7840 Moschip
7840/7820 USB Serial Driver.

On linux-image-2.6.26-1-686 version 2.6.26-3 this adaptor worked fine
and neither of the following problems occurred.

On linux-image-2.6.26-1-686 version 2.6.26-4 there are serious problems.

First, the usb-serial ports do not work correctly. Whatever character
I send to the tty, it emits the letter 'O' from the serial port.
See the two strace attachments, which are from kernels 2.6.26-3 and
2.6.26-4 respectively. They were generated using minicom talking to a
serial device which just echoes the input and sends the prompt "Ready"
when it receives a carriage return.

Unfortunately I didn't type the same characters in each test, but
if you diff the straces you can see that the tiocmget behaviour is
substantially changed in what it returns, in addition to the incorrect
character being sent.

Secondly, on unplugging the adaptor, a kernel OOPS is caused due to a
null pointer dereference. See dmesg extract also attached.

Following this OOPS, lsusb just hangs and is not interruptible with
control-C, and on attempting to shut down the machine the shutdown process
hangs when closing down Bluetooth (the built-in Bluetooth adaptor also
presents a USB interface). Magic sysrq key still works fortunately !

A different usb-serial device using the ftdi-sio driver still works
without error.

I see the following in the package changelog and wonder if this change
is related to the destabilisation ?

linux-2.6 (2.6.26-4) unstable; urgency=low
* Add stable release 2.6.26.3:
- usb-serial: don't release unregistered minors

Assigning this as "serious" in relation to Lenny rc policy, due to the
fact that this kernel null pointer dereference seems to break the entire
USB subsystem. Please reassign if this is inappropriate, thanks.

Nick
[ 0.000000] Linux version 2.6.26-1-686 (Debian 2.6.26-4) (waldi@debian.org) (gcc version 4.1.3 20080623 (prerelease) (Debian 4.1.2-23)) #1 SMP Thu Aug 28 12:00:54 UTC 2008

...snips...

[ 129.469805] usb 3-1: new high speed USB device using ehci_hcd and address 3
[ 129.610533] usb 3-1: configuration #1 chosen from 1 choice
[ 129.625110] usb 3-1: New USB device found, idVendor=9710, idProduct=7840
[ 129.639548] usb 3-1: New USB device strings: Mfr=0, Product=0, SerialNumber=0
[ 129.733070] usbserial: USB Serial support registered for Moschip 7840/7820 USB Serial Driver
[ 129.740656] mos7840: Moschip 7840/7820 USB Serial Driver 1.3.1
[ 129.752701] mos7840 3-1:1.0: Moschip 7840/7820 USB Serial Driver converter detected
[ 129.766513] usb 3-1: Moschip 7840/7820 USB Serial Driver converter now attached to ttyUSB2
[ 129.777384] usb 3-1: Moschip 7840/7820 USB Serial Driver converter now attached to ttyUSB3
[ 129.785435] usb 3-1: Moschip 7840/7820 USB Serial Driver converter now attached to ttyUSB4
[ 129.799854] usb 3-1: Moschip 7840/7820 USB Serial Driver converter now attached to ttyUSB5
[ 129.810962] usbcore: registered new interface driver mos7840
[ 138.813698] usb 3-1: USB disconnect, address 3
[ 138.826849] BUG: unable to handle kernel NULL pointer dereference at 00000078
[ 138.831587] IP: [<c02b9012>] _spin_lock_irqsave+0x1d/0x2f
[ 138.831587] *pde = 00000000
[ 138.831587] Oops: 0002 [#1] SMP
[ 138.831587] Modules linked in: mos7840 rfcomm l2cap ppdev parport_pc lp parport nfsd auth_rpcgss exportfs nfs lockd nfs_acl sunrpc ip6table_filter ip6_tables iptable_raw xt_comment xt_policy ipt_ULOG ipt_TTL ipt_ttl ipt_REJECT ipt_REDIRECT ipt_recent ipt_NETMAP ipt_MASQUERADE ipt_LOG ipt_ECN ipt_ecn ipt_CLUSTERIP ipt_ah ipt_addrtype nf_nat_tftp nf_nat_snmp_basic nf_nat_sip nf_nat_pptp nf_nat_proto_gre nf_nat_irc nf_nat_h323 nf_nat_ftp nf_nat_amanda ts_kmp nf_conntrack_amanda nf_conntrack_tftp nf_conntrack_sip nf_conntrack_proto_sctp nf_conntrack_pptp nf_conntrack_proto_gre nf_conntrack_netlink nf_conntrack_netbios_ns nf_conntrack_irc nf_conntrack_h323 nf_conntrack_ftp xt_tcpmss xt_pkttype xt_physdev xt_owner xt_NFQUEUE xt_NFLOG xt_multiport xt_MARK xt_mark xt_mac xt_limit xt_length xt_iprange xt_helper xt_hashlimit xt_DSCP xt_dscp xt_dccp xt_conntrack xt_CONNMARK xt_connmark xt_CLASSIFY xt_tcpudp xt_state iptable_nat nf_nat nf_conntrack_ipv4 nf_conntrack iptable_mangle nfnetlink iptable_filter ip_tables x_tables bridge tun ipv6 nls_utf8 isofs nls_base zlib_inflate fuse ext3 jbd mbcache coretemp vboxdrv loop i8k cpufreq_powersave cpufreq_ondemand cpufreq_conservative acpi_cpufreq freq_table joydev pcmcia firmware_class psmouse serio_raw yenta_socket rsrc_nonstatic pcmcia_core i2c_i801 pcspkr snd_hda_intel i2c_core ftdi_sio iTCO_wdt usbserial snd_pcm_oss snd_mixer_oss snd_pcm snd_timer hci_usb bluetooth snd soundcore snd_page_alloc video output bay wmi button ac battery intel_agp agpgart evdev dcdbas reiserfs sha256_generic aes_i586 aes_generic cbc dm_crypt crypto_blkcipher dm_mirror dm_log dm_snapshot dm_mod ide_cd_mod cdrom sd_mod usbhid hid ff_memless ide_pci_generic piix ide_core ohci1394 ata_piix ata_generic ieee1394 libata scsi_mod tg3 ehci_hcd uhci_hcd dock usbcore thermal processor fan thermal_sys
[ 138.831587]
[ 138.831587] Pid: 722, comm: khubd Not tainted (2.6.26-1-686 #1)
[ 138.831587] EIP: 0060:[<c02b9012>] EFLAGS: 00010093 CPU: 1
[ 138.831587] EIP is at _spin_lock_irqsave+0x1d/0x2f
[ 138.831587] EAX: 00000100 EBX: 00000000 ECX: 00000293 EDX: 00000078
[ 138.831587] ESI: 00000078 EDI: f407cb40 EBP: 00000001 ESP: f78bbea0
[ 138.831587] DS: 007b ES: 007b FS: 00d8 GS: 0000 SS: 0068
[ 138.831587] Process khubd (pid: 722, ti=f78ba000 task=f78c6ac0 task.ti=f78ba000)
[ 138.831587] Stack: f9545980 f407cb40 f8dba6d1 00000004 f407cb78 f8dba704 f407cb74 f8dba6d1
[ 138.831587] 00000004 c01de21a f407cb74 f407cb40 f8dba5e1 f7c5ce00 f8dbac43 f360ec1c
[ 138.831587] f360ec00 f360ec1c f954ada0 f364b400 f8b88a03 00000000 f360ec1c f954add4
[ 138.831587] Call Trace:
[ 138.831587] [<f9545980>] mos7840_shutdown+0x5e/0xc6 [mos7840]
[ 138.831587] [<f8dba6d1>] destroy_serial+0x0/0xf0 [usbserial]
[ 138.831587] [<f8dba704>] destroy_serial+0x33/0xf0 [usbserial]
[ 138.831587] [<f8dba6d1>] destroy_serial+0x0/0xf0 [usbserial]
[ 138.831587] [<c01de21a>] kref_put+0x36/0x40
[ 138.831587] [<f8dba5e1>] usb_serial_put+0x1c/0x27 [usbserial]
[ 138.831587] [<f8dbac43>] usb_serial_disconnect+0x83/0xa8 [usbserial]
[ 138.831587] [<f8b88a03>] usb_unbind_interface+0x44/0x85 [usbcore]
[ 138.831587] [<c023a331>] __device_release_driver+0x58/0x76
[ 138.831587] [<c023a367>] device_release_driver+0x18/0x21
[ 138.831587] [<c0239a7a>] bus_remove_device+0x6b/0x7b
[ 138.831587] [<c0238b72>] device_del+0xc0/0x111
[ 138.831587] [<f8b8674a>] usb_disable_device+0x5c/0xbb [usbcore]
[ 138.831587] [<f8b82e2d>] usb_disconnect+0x6f/0x106 [usbcore]
[ 138.831587] [<f8b83d53>] hub_thread+0x346/0xb04 [usbcore]
[ 138.831587] [<c013177c>] autoremove_wake_function+0x0/0x2d
[ 138.831587] [<f8b83a0d>] hub_thread+0x0/0xb04 [usbcore]
[ 138.831587] [<c01316bb>] kthread+0x38/0x5d
[ 138.831587] [<c0131683>] kthread+0x0/0x5d
[ 138.831587] [<c01044f3>] kernel_thread_helper+0x7/0x10
[ 138.831587] =======================
[ 138.831587] Code: d7 e6 ff f0 fe 00 8b 04 24 e9 18 d7 e6 ff 89 c2 9c 58 0f 1f 84 00 00 00 00 00 89 c1 fa 0f 1f 84 00 00 00 00 00 90 b8 00 01 00 00 <f0> 66 0f c1 02 38 e0 74 06 f3 90 8a 02 eb f6 89 c8 c3 89 c2 fa
[ 138.831587] EIP: [<c02b9012>] _spin_lock_irqsave+0x1d/0x2f SS:ESP 0068:f78bbea0
[ 138.831587] ---[ end trace 795fe733cedc32e7 ]---
open("/dev/ttyUSB0", O_RDWR|O_NOCTTY|O_NONBLOCK) = 3
fcntl64(3, F_GETFL) = 0x802 (flags O_RDWR|O_NONBLOCK)
fcntl64(3, F_SETFL, O_RDWR) = 0
ioctl(3, SNDCTL_TMR_TIMEBASE or TCGETS, {B4800 -opost -isig -icanon -echo ...}) = 0
ioctl(3, TIOCMGET, [TIOCM_DTR|TIOCM_RTS|TIOCM_CTS]) = 0
ioctl(3, SNDCTL_TMR_TIMEBASE or TCGETS, {B4800 -opost -isig -icanon -echo ...}) = 0
ioctl(3, SNDCTL_TMR_TIMEBASE or TCGETS, {B4800 -opost -isig -icanon -echo ...}) = 0
ioctl(3, SNDCTL_TMR_START or TCSETS, {B4800 -opost -isig -icanon -echo ...}) = 0
ioctl(3, SNDCTL_TMR_TIMEBASE or TCGETS, {B4800 -opost -isig -icanon -echo ...}) = 0
ioctl(3, TIOCMGET, [TIOCM_DTR|TIOCM_RTS|TIOCM_CTS]) = 0
ioctl(3, TIOCMSET, [TIOCM_DTR|TIOCM_RTS|TIOCM_CTS]) = 0
ioctl(3, SNDCTL_TMR_TIMEBASE or TCGETS, {B4800 -opost -isig -icanon -echo ...}) = 0
ioctl(3, SNDCTL_TMR_TIMEBASE or TCGETS, {B4800 -opost -isig -icanon -echo ...}) = 0
ioctl(3, SNDCTL_TMR_START or TCSETS, {B4800 -opost -isig -icanon -echo ...}) = 0
ioctl(3, SNDCTL_TMR_TIMEBASE or TCGETS, {B4800 -opost -isig -icanon -echo ...}) = 0
alarm(0) = 4
rt_sigaction(SIGALRM, {SIG_IGN}, {0x8062270, [ALRM], SA_RESTART}, 8) = 0
stat64("/dev/ttyUSB0", {st_mode=S_IFCHR|0660, st_rdev=makedev(188, 0), ...}) = 0
chown32("/dev/ttyUSB0", 1000, 1000) = -1 EPERM (Operation not permitted)
ioctl(3, SNDCTL_TMR_TIMEBASE or TCGETS, {B4800 -opost -isig -icanon -echo ...}) = 0
ioctl(3, SNDCTL_TMR_TIMEBASE or TCGETS, {B4800 -opost -isig -icanon -echo ...}) = 0
ioctl(3, SNDCTL_TMR_START or TCSETS, {B4800 -opost -isig -icanon -echo ...}) = 0
ioctl(3, SNDCTL_TMR_TIMEBASE or TCGETS, {B4800 -opost -isig -icanon -echo ...}) = 0
ioctl(3, SNDCTL_TMR_TIMEBASE or TCGETS, {B4800 -opost -isig -icanon -echo ...}) = 0
ioctl(3, SNDCTL_TMR_TIMEBASE or TCGETS, {B4800 -opost -isig -icanon -echo ...}) = 0
ioctl(3, SNDCTL_TMR_START or TCSETS, {B4800 -opost -isig -icanon -echo ...}) = 0
ioctl(3, SNDCTL_TMR_TIMEBASE or TCGETS, {B4800 -opost -isig -icanon -echo ...}) = 0
ioctl(3, TCFLSH, 0x2) = 0
setregid32(1000, 1000) = 0
setreuid32(1000, 1000) = 0
ioctl(1, SNDCTL_TMR_TIMEBASE or TCGETS, {B38400 opost isig icanon echo ...}) = 0
stat64("/home/nick/.terminfo", 0xbfe945e4) = -1 ENOENT (No such file or directory)
stat64("/etc/terminfo", {st_mode=S_IFDIR|0755, st_size=72, ...}) = 0
access("/etc/terminfo/x/xterm", R_OK) = -1 ENOENT (No such file or directory)
stat64("/lib/terminfo", {st_mode=S_IFDIR|0755, st_size=360, ...}) = 0
access("/lib/terminfo/x/xterm", R_OK) = 0
open("/lib/terminfo/x/xterm", O_RDONLY|O_LARGEFILE) = 4
read(4, "3213435172351&5xterm|X11 terminal em"..., 4097) = 2244
close(4) = 0
ioctl(1, SNDCTL_TMR_TIMEBASE or TCGETS, {B38400 opost isig icanon echo ...}) = 0
ioctl(1, SNDCTL_TMR_TIMEBASE or TCGETS, {B38400 opost isig icanon echo ...}) = 0
ioctl(0, TIOCGWINSZ, {ws_row=63, ws_col=100, ws_xpixel=0, ws_ypixel=0}) = 0
write(1, "33"..., 1) = 1
write(1, "["..., 1) = 1
write(1, "!"..., 1) = 1
write(1, "p"..., 1) = 1
write(1, "33"..., 1) = 1
write(1, "["..., 1) = 1
write(1, "?"..., 1) = 1
write(1, "3"..., 1) = 1
write(1, ";"..., 1) = 1
write(1, "4"..., 1) = 1
write(1, "l"..., 1) = 1
write(1, "33"..., 1) = 1
write(1, "["..., 1) = 1
write(1, "4"..., 1) = 1
write(1, "l"..., 1) = 1
write(1, "33"..., 1) = 1
write(1, ">"..., 1) = 1
write(1, "33"..., 1) = 1
write(1, "["..., 1) = 1
write(1, "0"..., 1) = 1
write(1, "m"..., 1) = 1
write(1, "33"..., 1) = 1
write(1, "("..., 1) = 1
write(1, "B"..., 1) = 1
ioctl(0, SNDCTL_TMR_TIMEBASE or TCGETS, {B38400 opost isig icanon echo ...}) = 0
ioctl(0, SNDCTL_TMR_TIMEBASE or TCGETS, {B38400 opost isig icanon echo ...}) = 0
ioctl(0, SNDCTL_TMR_STOP or TCSETSW, {B38400 opost isig icanon echo ...}) = 0
ioctl(0, SNDCTL_TMR_TIMEBASE or TCGETS, {B38400 opost isig icanon echo ...}) = 0
ioctl(0, SNDCTL_TMR_TIMEBASE or TCGETS, {B38400 opost isig icanon echo ...}) = 0
ioctl(0, SNDCTL_TMR_TIMEBASE or TCGETS, {B38400 opost isig icanon echo ...}) = 0
ioctl(0, SNDCTL_TMR_STOP or TCSETSW, {B38400 -opost -isig -icanon -echo ...}) = 0
ioctl(0, SNDCTL_TMR_TIMEBASE or TCGETS, {B38400 -opost -isig -icanon -echo ...}) = 0
write(1, "33[?1h33=33[H33[2J"..., 14) = 14
rt_sigaction(SIGTERM, {0x804a420, [TERM], SA_RESTART}, {SIG_DFL}, 8) = 0
rt_sigaction(SIGHUP, {0x804a420, [HUP], SA_RESTART}, {SIG_DFL}, 8) = 0
rt_sigaction(SIGINT, {SIG_IGN}, {SIG_DFL}, 8) = 0
rt_sigaction(SIGQUIT, {SIG_IGN}, {SIG_DFL}, 8) = 0
rt_sigaction(SIGPIPE, {SIG_IGN}, {SIG_DFL}, 8) = 0
rt_sigaction(SIGTSTP, {0x804a4f0, [TSTP], SA_RESTART}, {SIG_DFL}, 8) = 0
rt_sigaction(SIGTTIN, {SIG_IGN}, {SIG_DFL}, 8) = 0
rt_sigaction(SIGTTOU, {SIG_IGN}, {SIG_DFL}, 8) = 0
rt_sigaction(SIGWINCH, {0x804a2d0, [WINCH], SA_RESTART}, {SIG_DFL}, 8) = 0
write(1, "33[0m33(B33[7m33[63;1H33[K"..., 21) = 21
write(1, "33[?12l33[?25h"..., 12) = 12
write(1, "33[?25l "..., 118) = 118
mmap2(NULL, 1601536, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0xb7a09000
write(1, "33[?12l33[?25h"..., 12) = 12
write(1, "33[63;34H"..., 8) = 8
write(1, "NOR"..., 3) = 3
write(1, "33[1;1H"..., 6) = 6
open("/usr/share/locale/locale.alias", O_RDONLY) = 4
fstat64(4, {st_mode=S_IFREG|0644, st_size=2586, ...}) = 0
mmap2(NULL, 4096, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0xb7f62000
read(4, "# Locale name alias data base.
# "..., 4096) = 2586
read(4, ""..., 4096) = 0
close(4) = 0
munmap(0xb7f62000, 4096) = 0
open("/usr/share/locale/en_GB/LC_MESSAGES/minicom.mo", O_RDONLY) = -1 ENOENT (No such file or directory)
open("/usr/share/locale/en/LC_MESSAGES/minicom.mo", O_RDONLY) = -1 ENOENT (No such file or directory)
open("/usr/share/locale/en_US/LC_MESSAGES/minicom.mo", O_RDONLY) = -1 ENOENT (No such file or directory)
write(1, "33[63;1H33[?25l CTRL-A Z for help |"..., 132) = 132
write(1, "33[1;1H"..., 6) = 6
write(1, "
33[0m33(BWelcome to minicom 2.3
"..., 32) = 32
write(1, "
OPTIONS: I18n
"..., 17) = 17
write(1, "Compiled on Feb 24 2008, 16:35:15"..., 36) = 36
write(1, "Port /dev/ttyUSB033[7;18H"..., 24) = 24
write(1, "33[8;18HPress CTRL-A Z for help on"..., 49) = 49
setregid32(1000, 1000) = 0
setreuid32(1000, 1000) = 0
open("/home/nick/.dialdir", O_RDONLY) = -1 ENOENT (No such file or directory)
ioctl(0, SNDCTL_TMR_TIMEBASE or TCGETS, {B38400 -opost -isig -icanon -echo ...}) = 0
ioctl(0, SNDCTL_TMR_STOP or TCSETSW, {B38400 opost isig icanon echo ...}) = 0
ioctl(0, SNDCTL_TMR_TIMEBASE or TCGETS, {B38400 opost isig icanon echo ...}) = 0
ioctl(0, SNDCTL_TMR_TIMEBASE or TCGETS, {B38400 opost isig icanon echo ...}) = 0
ioctl(0, SNDCTL_TMR_TIMEBASE or TCGETS, {B38400 opost isig icanon echo ...}) = 0
ioctl(0, SNDCTL_TMR_STOP or TCSETSW, {B38400 -opost -isig -icanon -echo ...}) = 0
ioctl(0, SNDCTL_TMR_TIMEBASE or TCGETS, {B38400 -opost -isig -icanon -echo ...}) = 0
ioctl(3, TIOCMGET, [TIOCM_DTR|TIOCM_RTS|TIOCM_CTS]) = 0
ioctl(3, SNDCTL_TMR_TIMEBASE or TCGETS, {B4800 -opost -isig -icanon -echo ...}) = 0
select(4, [0 3], NULL, NULL, {1, 0}) = 0 (Timeout)
ioctl(3, TIOCMGET, [TIOCM_DTR|TIOCM_RTS|TIOCM_CTS]) = 0
ioctl(3, SNDCTL_TMR_TIMEBASE or TCGETS, {B4800 -opost -isig -icanon -echo ...}) = 0
select(4, [0 3], NULL, NULL, {1, 0}) = 0 (Timeout)
ioctl(3, TIOCMGET, [TIOCM_DTR|TIOCM_RTS|TIOCM_CTS]) = 0
ioctl(3, SNDCTL_TMR_TIMEBASE or TCGETS, {B4800 -opost -isig -icanon -echo ...}) = 0
select(4, [0 3], NULL, NULL, {1, 0}) = 1 (in [0], left {0, 140000})
ioctl(0, KDGETLED, 0xbfe95634) = -1 EINVAL (Invalid argument)
read(0, "h"..., 32) = 1
write(3, "h"..., 1) = 1
ioctl(3, TIOCMGET, [TIOCM_DTR|TIOCM_RTS|TIOCM_CTS]) = 0
ioctl(3, SNDCTL_TMR_TIMEBASE or TCGETS, {B4800 -opost -isig -icanon -echo ...}) = 0
select(4, [0 3], NULL, NULL, {1, 0}) = 1 (in [3], left {0, 992000})
read(3, "h"..., 127) = 1
write(1, "h"..., 1) = 1
ioctl(3, TIOCMGET, [TIOCM_DTR|TIOCM_RTS|TIOCM_CTS]) = 0
ioctl(3, SNDCTL_TMR_TIMEBASE or TCGETS, {B4800 -opost -isig -icanon -echo ...}) = 0
select(4, [0 3], NULL, NULL, {1, 0}) = 1 (in [0], left {0, 784000})
read(0, "e"..., 32) = 1
write(3, "e"..., 1) = 1
ioctl(3, TIOCMGET, [TIOCM_DTR|TIOCM_RTS|TIOCM_CTS]) = 0
ioctl(3, SNDCTL_TMR_TIMEBASE or TCGETS, {B4800 -opost -isig -icanon -echo ...}) = 0
select(4, [0 3], NULL, NULL, {1, 0}) = 1 (in [3], left {0, 992000})
read(3, "e"..., 127) = 1
write(1, "e"..., 1) = 1
ioctl(3, TIOCMGET, [TIOCM_DTR|TIOCM_RTS|TIOCM_CTS]) = 0
ioctl(3, SNDCTL_TMR_TIMEBASE or TCGETS, {B4800 -opost -isig -icanon -echo ...}) = 0
select(4, [0 3], NULL, NULL, {1, 0}) = 1 (in [0], left {0, 536000})
read(0, "l"..., 32) = 1
write(3, "l"..., 1) = 1
ioctl(3, TIOCMGET, [TIOCM_DTR|TIOCM_RTS|TIOCM_CTS]) = 0
ioctl(3, SNDCTL_TMR_TIMEBASE or TCGETS, {B4800 -opost -isig -icanon -echo ...}) = 0
select(4, [0 3], NULL, NULL, {1, 0}) = 1 (in [3], left {0, 992000})
read(3, "l"..., 127) = 1
write(1, "l"..., 1) = 1
ioctl(3, TIOCMGET, [TIOCM_DTR|TIOCM_RTS|TIOCM_CTS]) = 0
ioctl(3, SNDCTL_TMR_TIMEBASE or TCGETS, {B4800 -opost -isig -icanon -echo ...}) = 0
select(4, [0 3], NULL, NULL, {1, 0}) = 1 (in [0], left {0, 872000})
read(0, "l"..., 32) = 1
write(3, "l"..., 1) = 1
ioctl(3, TIOCMGET, [TIOCM_DTR|TIOCM_RTS|TIOCM_CTS]) = 0
ioctl(3, SNDCTL_TMR_TIMEBASE or TCGETS, {B4800 -opost -isig -icanon -echo ...}) = 0
select(4, [0 3], NULL, NULL, {1, 0}) = 1 (in [3], left {0, 992000})
read(3, "l"..., 127) = 1
write(1, "l"..., 1) = 1
ioctl(3, TIOCMGET, [TIOCM_DTR|TIOCM_RTS|TIOCM_CTS]) = 0
ioctl(3, SNDCTL_TMR_TIMEBASE or TCGETS, {B4800 -opost -isig -icanon -echo ...}) = 0
select(4, [0 3], NULL, NULL, {1, 0}) = 1 (in [0], left {0, 792000})
read(0, "o"..., 32) = 1
write(3, "o"..., 1) = 1
ioctl(3, TIOCMGET, [TIOCM_DTR|TIOCM_RTS|TIOCM_CTS]) = 0
ioctl(3, SNDCTL_TMR_TIMEBASE or TCGETS, {B4800 -opost -isig -icanon -echo ...}) = 0
select(4, [0 3], NULL, NULL, {1, 0}) = 1 (in [3], left {0, 992000})
read(3, "o"..., 127) = 1
write(1, "o"..., 1) = 1
ioctl(3, TIOCMGET, [TIOCM_DTR|TIOCM_RTS|TIOCM_CTS]) = 0
ioctl(3, SNDCTL_TMR_TIMEBASE or TCGETS, {B4800 -opost -isig -icanon -echo ...}) = 0
select(4, [0 3], NULL, NULL, {1, 0}) = 1 (in [0], left {0, 784000})
read(0, " "..., 32) = 1
write(3, " "..., 1) = 1
ioctl(3, TIOCMGET, [TIOCM_DTR|TIOCM_RTS|TIOCM_CTS]) = 0
ioctl(3, SNDCTL_TMR_TIMEBASE or TCGETS, {B4800 -opost -isig -icanon -echo ...}) = 0
select(4, [0 3], NULL, NULL, {1, 0}) = 1 (in [3], left {0, 992000})
read(3, " "..., 127) = 1
write(1, " "..., 1) = 1
ioctl(3, TIOCMGET, [TIOCM_DTR|TIOCM_RTS|TIOCM_CTS]) = 0
ioctl(3, SNDCTL_TMR_TIMEBASE or TCGETS, {B4800 -opost -isig -icanon -echo ...}) = 0
select(4, [0 3], NULL, NULL, {1, 0}) = 1 (in [0], left {0, 824000})
read(0, "w"..., 32) = 1
write(3, "w"..., 1) = 1
ioctl(3, TIOCMGET, [TIOCM_DTR|TIOCM_RTS|TIOCM_CTS]) = 0
ioctl(3, SNDCTL_TMR_TIMEBASE or TCGETS, {B4800 -opost -isig -icanon -echo ...}) = 0
select(4, [0 3], NULL, NULL, {1, 0}) = 1 (in [3], left {0, 992000})
read(3, "w"..., 127) = 1
write(1, "w"..., 1) = 1
ioctl(3, TIOCMGET, [TIOCM_DTR|TIOCM_RTS|TIOCM_CTS]) = 0
ioctl(3, SNDCTL_TMR_TIMEBASE or TCGETS, {B4800 -opost -isig -icanon -echo ...}) = 0
select(4, [0 3], NULL, NULL, {1, 0}) = 1 (in [0], left {0, 900000})
read(0, "o"..., 32) = 1
write(3, "o"..., 1) = 1
ioctl(3, TIOCMGET, [TIOCM_DTR|TIOCM_RTS|TIOCM_CTS]) = 0
ioctl(3, SNDCTL_TMR_TIMEBASE or TCGETS, {B4800 -opost -isig -icanon -echo ...}) = 0
select(4, [0 3], NULL, NULL, {1, 0}) = 1 (in [3], left {0, 988000})
read(3, "o"..., 127) = 1
write(1, "o"..., 1) = 1
ioctl(3, TIOCMGET, [TIOCM_DTR|TIOCM_RTS|TIOCM_CTS]) = 0
ioctl(3, SNDCTL_TMR_TIMEBASE or TCGETS, {B4800 -opost -isig -icanon -echo ...}) = 0
select(4, [0 3], NULL, NULL, {1, 0}) = 1 (in [0], left {0, 888000})
read(0, "r"..., 32) = 1
write(3, "r"..., 1) = 1
ioctl(3, TIOCMGET, [TIOCM_DTR|TIOCM_RTS|TIOCM_CTS]) = 0
ioctl(3, SNDCTL_TMR_TIMEBASE or TCGETS, {B4800 -opost -isig -icanon -echo ...}) = 0
select(4, [0 3], NULL, NULL, {1, 0}) = 1 (in [3], left {0, 988000})
read(3, "r"..., 127) = 1
write(1, "r"..., 1) = 1
ioctl(3, TIOCMGET, [TIOCM_DTR|TIOCM_RTS|TIOCM_CTS]) = 0
ioctl(3, SNDCTL_TMR_TIMEBASE or TCGETS, {B4800 -opost -isig -icanon -echo ...}) = 0
select(4, [0 3], NULL, NULL, {1, 0}) = 1 (in [0], left {0, 876000})
read(0, "l"..., 32) = 1
write(3, "l"..., 1) = 1
ioctl(3, TIOCMGET, [TIOCM_DTR|TIOCM_RTS|TIOCM_CTS]) = 0
ioctl(3, SNDCTL_TMR_TIMEBASE or TCGETS, {B4800 -opost -isig -icanon -echo ...}) = 0
select(4, [0 3], NULL, NULL, {1, 0}) = 1 (in [3], left {0, 992000})
read(3, "l"..., 127) = 1
write(1, "l"..., 1) = 1
ioctl(3, TIOCMGET, [TIOCM_DTR|TIOCM_RTS|TIOCM_CTS]) = 0
ioctl(3, SNDCTL_TMR_TIMEBASE or TCGETS, {B4800 -opost -isig -icanon -echo ...}) = 0
select(4, [0 3], NULL, NULL, {1, 0}) = 1 (in [0], left {0, 844000})
read(0, "d"..., 32) = 1
write(3, "d"..., 1) = 1
ioctl(3, TIOCMGET, [TIOCM_DTR|TIOCM_RTS|TIOCM_CTS]) = 0
ioctl(3, SNDCTL_TMR_TIMEBASE or TCGETS, {B4800 -opost -isig -icanon -echo ...}) = 0
select(4, [0 3], NULL, NULL, {1, 0}) = 1 (in [3], left {0, 988000})
read(3, "d"..., 127) = 1
write(1, "d"..., 1) = 1
ioctl(3, TIOCMGET, [TIOCM_DTR|TIOCM_RTS|TIOCM_CTS]) = 0
ioctl(3, SNDCTL_TMR_TIMEBASE or TCGETS, {B4800 -opost -isig -icanon -echo ...}) = 0
select(4, [0 3], NULL, NULL, {1, 0}) = 1 (in [0], left {0, 676000})
read(0, "
"..., 32) = 1
write(3, "
"..., 1) = 1
ioctl(3, TIOCMGET, [TIOCM_DTR|TIOCM_RTS|TIOCM_CTS]) = 0
ioctl(3, SNDCTL_TMR_TIMEBASE or TCGETS, {B4800 -opost -isig -icanon -echo ...}) = 0
select(4, [0 3], NULL, NULL, {1, 0}) = 1 (in [3], left {0, 988000})
read(3, "
"..., 127) = 2
write(1, "
"..., 2) = 2
ioctl(3, TIOCMGET, [TIOCM_DTR|TIOCM_RTS|TIOCM_CTS]) = 0
ioctl(3, SNDCTL_TMR_TIMEBASE or TCGETS, {B4800 -opost -isig -icanon -echo ...}) = 0
select(4, [0 3], NULL, NULL, {1, 0}) = 1 (in [3], left {0, 980000})
read(3, "Ready
"..., 127) = 7
write(1, "Ready
"..., 7) = 7
ioctl(3, TIOCMGET, [TIOCM_DTR|TIOCM_RTS|TIOCM_CTS]) = 0
ioctl(3, SNDCTL_TMR_TIMEBASE or TCGETS, {B4800 -opost -isig -icanon -echo ...}) = 0
select(4, [0 3], NULL, NULL, {1, 0}) = 0 (Timeout)
ioctl(3, TIOCMGET, [TIOCM_DTR|TIOCM_RTS|TIOCM_CTS]) = 0
ioctl(3, SNDCTL_TMR_TIMEBASE or TCGETS, {B4800 -opost -isig -icanon -echo ...}) = 0
select(4, [0 3], NULL, NULL, {1, 0}) = 0 (Timeout)
ioctl(3, TIOCMGET, [TIOCM_DTR|TIOCM_RTS|TIOCM_CTS]) = 0
ioctl(3, SNDCTL_TMR_TIMEBASE or TCGETS, {B4800 -opost -isig -icanon -echo ...}) = 0
select(4, [0 3], NULL, NULL, {1, 0}) = 1 (in [0], left {0, 592000})
read(0, "t"..., 32) = 1
write(3, "t"..., 1) = 1
ioctl(3, TIOCMGET, [TIOCM_DTR|TIOCM_RTS|TIOCM_CTS]) = 0
ioctl(3, SNDCTL_TMR_TIMEBASE or TCGETS, {B4800 -opost -isig -icanon -echo ...}) = 0
select(4, [0 3], NULL, NULL, {1, 0}) = 1 (in [3], left {0, 992000})
read(3, "t"..., 127) = 1
write(1, "t"..., 1) = 1
ioctl(3, TIOCMGET, [TIOCM_DTR|TIOCM_RTS|TIOCM_CTS]) = 0
ioctl(3, SNDCTL_TMR_TIMEBASE or TCGETS, {B4800 -opost -isig -icanon -echo ...}) = 0
select(4, [0 3], NULL, NULL, {1, 0}) = 1 (in [0], left {0, 848000})
read(0, "h"..., 32) = 1
write(3, "h"..., 1) = 1
ioctl(3, TIOCMGET, [TIOCM_DTR|TIOCM_RTS|TIOCM_CTS]) = 0
ioctl(3, SNDCTL_TMR_TIMEBASE or TCGETS, {B4800 -opost -isig -icanon -echo ...}) = 0
select(4, [0 3], NULL, NULL, {1, 0}) = 1 (in [3], left {0, 992000})
read(3, "h"..., 127) = 1
write(1, "h"..., 1) = 1
ioctl(3, TIOCMGET, [TIOCM_DTR|TIOCM_RTS|TIOCM_CTS]) = 0
ioctl(3, SNDCTL_TMR_TIMEBASE or TCGETS, {B4800 -opost -isig -icanon -echo ...}) = 0
select(4, [0 3], NULL, NULL, {1, 0}) = 1 (in [0], left {0, 940000})
read(0, "i"..., 32) = 1
write(3, "i"..., 1) = 1
ioctl(3, TIOCMGET, [TIOCM_DTR|TIOCM_RTS|TIOCM_CTS]) = 0
ioctl(3, SNDCTL_TMR_TIMEBASE or TCGETS, {B4800 -opost -isig -icanon -echo ...}) = 0
select(4, [0 3], NULL, NULL, {1, 0}) = 1 (in [3], left {0, 992000})
read(3, "i"..., 127) = 1
write(1, "i"..., 1) = 1
ioctl(3, TIOCMGET, [TIOCM_DTR|TIOCM_RTS|TIOCM_CTS]) = 0
ioctl(3, SNDCTL_TMR_TIMEBASE or TCGETS, {B4800 -opost -isig -icanon -echo ...}) = 0
select(4, [0 3], NULL, NULL, {1, 0}) = 1 (in [0], left {0, 892000})
read(0, "s"..., 32) = 1
write(3, "s"..., 1) = 1
ioctl(3, TIOCMGET, [TIOCM_DTR|TIOCM_RTS|TIOCM_CTS]) = 0
ioctl(3, SNDCTL_TMR_TIMEBASE or TCGETS, {B4800 -opost -isig -icanon -echo ...}) = 0
select(4, [0 3], NULL, NULL, {1, 0}) = 1 (in [3], left {0, 988000})
read(3, "s"..., 127) = 1
write(1, "s"..., 1) = 1
ioctl(3, TIOCMGET, [TIOCM_DTR|TIOCM_RTS|TIOCM_CTS]) = 0
ioctl(3, SNDCTL_TMR_TIMEBASE or TCGETS, {B4800 -opost -isig -icanon -echo ...}) = 0
select(4, [0 3], NULL, NULL, {1, 0}) = 1 (in [0], left {0, 916000})
read(0, " "..., 32) = 1
write(3, " "..., 1) = 1
ioctl(3, TIOCMGET, [TIOCM_DTR|TIOCM_RTS|TIOCM_CTS]) = 0
ioctl(3, SNDCTL_TMR_TIMEBASE or TCGETS, {B4800 -opost -isig -icanon -echo ...}) = 0
select(4, [0 3], NULL, NULL, {1, 0}) = 1 (in [3], left {0, 992000})
read(3, " "..., 127) = 1
write(1, " "..., 1) = 1
ioctl(3, TIOCMGET, [TIOCM_DTR|TIOCM_RTS|TIOCM_CTS]) = 0
ioctl(3, SNDCTL_TMR_TIMEBASE or TCGETS, {B4800 -opost -isig -icanon -echo ...}) = 0
select(4, [0 3], NULL, NULL, {1, 0}) = 1 (in [0], left {0, 760000})
read(0, "i"..., 32) = 1
write(3, "i"..., 1) = 1
ioctl(3, TIOCMGET, [TIOCM_DTR|TIOCM_RTS|TIOCM_CTS]) = 0
ioctl(3, SNDCTL_TMR_TIMEBASE or TCGETS, {B4800 -opost -isig -icanon -echo ...}) = 0
select(4, [0 3], NULL, NULL, {1, 0}) = 1 (in [3], left {0, 992000})
read(3, "i"..., 127) = 1
write(1, "i"..., 1) = 1
ioctl(3, TIOCMGET, [TIOCM_DTR|TIOCM_RTS|TIOCM_CTS]) = 0
ioctl(3, SNDCTL_TMR_TIMEBASE or TCGETS, {B4800 -opost -isig -icanon -echo ...}) = 0
select(4, [0 3], NULL, NULL, {1, 0}) = 1 (in [0], left {0, 812000})
read(0, "s"..., 32) = 1
write(3, "s"..., 1) = 1
ioctl(3, TIOCMGET, [TIOCM_DTR|TIOCM_RTS|TIOCM_CTS]) = 0
ioctl(3, SNDCTL_TMR_TIMEBASE or TCGETS, {B4800 -opost -isig -icanon -echo ...}) = 0
select(4, [0 3], NULL, NULL, {1, 0}) = 1 (in [3], left {0, 992000})
read(3, "s"..., 127) = 1
write(1, "s"..., 1) = 1
ioctl(3, TIOCMGET, [TIOCM_DTR|TIOCM_RTS|TIOCM_CTS]) = 0
ioctl(3, SNDCTL_TMR_TIMEBASE or TCGETS, {B4800 -opost -isig -icanon -echo ...}) = 0
select(4, [0 3], NULL, NULL, {1, 0}) = 1 (in [0], left {0, 868000})
read(0, " "..., 32) = 1
write(3, " "..., 1) = 1
ioctl(3, TIOCMGET, [TIOCM_DTR|TIOCM_RTS|TIOCM_CTS]) = 0
ioctl(3, SNDCTL_TMR_TIMEBASE or TCGETS, {B4800 -opost -isig -icanon -echo ...}) = 0
select(4, [0 3], NULL, NULL, {1, 0}) = 1 (in [3], left {0, 992000})
read(3, " "..., 127) = 1
write(1, " "..., 1) = 1
ioctl(3, TIOCMGET, [TIOCM_DTR|TIOCM_RTS|TIOCM_CTS]) = 0
ioctl(3, SNDCTL_TMR_TIMEBASE or TCGETS, {B4800 -opost -isig -icanon -echo ...}) = 0
select(4, [0 3], NULL, NULL, {1, 0}) = 1 (in [0], left {0, 952000})
read(0, "w"..., 32) = 1
write(3, "w"..., 1) = 1
ioctl(3, TIOCMGET, [TIOCM_DTR|TIOCM_RTS|TIOCM_CTS]) = 0
ioctl(3, SNDCTL_TMR_TIMEBASE or TCGETS, {B4800 -opost -isig -icanon -echo ...}) = 0
select(4, [0 3], NULL, NULL, {1, 0}) = 1 (in [3], left {0, 992000})
read(3, "w"..., 127) = 1
write(1, "w"..., 1) = 1
ioctl(3, TIOCMGET, [TIOCM_DTR|TIOCM_RTS|TIOCM_CTS]) = 0
ioctl(3, SNDCTL_TMR_TIMEBASE or TCGETS, {B4800 -opost -isig -icanon -echo ...}) = 0
select(4, [0 3], NULL, NULL, {1, 0}) = 1 (in [0], left {0, 912000})
read(0, "o"..., 32) = 1
write(3, "o"..., 1) = 1
ioctl(3, TIOCMGET, [TIOCM_DTR|TIOCM_RTS|TIOCM_CTS]) = 0
ioctl(3, SNDCTL_TMR_TIMEBASE or TCGETS, {B4800 -opost -isig -icanon -echo ...}) = 0
select(4, [0 3], NULL, NULL, {1, 0}) = 1 (in [3], left {0, 988000})
read(3, "o"..., 127) = 1
write(1, "o"..., 1) = 1
ioctl(3, TIOCMGET, [TIOCM_DTR|TIOCM_RTS|TIOCM_CTS]) = 0
ioctl(3, SNDCTL_TMR_TIMEBASE or TCGETS, {B4800 -opost -isig -icanon -echo ...}) = 0
select(4, [0 3], NULL, NULL, {1, 0}) = 1 (in [0], left {0, 920000})
read(0, "r"..., 32) = 1
write(3, "r"..., 1) = 1
ioctl(3, TIOCMGET, [TIOCM_DTR|TIOCM_RTS|TIOCM_CTS]) = 0
ioctl(3, SNDCTL_TMR_TIMEBASE or TCGETS, {B4800 -opost -isig -icanon -echo ...}) = 0
select(4, [0 3], NULL, NULL, {1, 0}) = 1 (in [3], left {0, 992000})
read(3, "r"..., 127) = 1
write(1, "r"..., 1) = 1
ioctl(3, TIOCMGET, [TIOCM_DTR|TIOCM_RTS|TIOCM_CTS]) = 0
ioctl(3, SNDCTL_TMR_TIMEBASE or TCGETS, {B4800 -opost -isig -icanon -echo ...}) = 0
select(4, [0 3], NULL, NULL, {1, 0}) = 1 (in [0], left {0, 920000})
read(0, "k"..., 32) = 1
write(3, "k"..., 1) = 1
ioctl(3, TIOCMGET, [TIOCM_DTR|TIOCM_RTS|TIOCM_CTS]) = 0
ioctl(3, SNDCTL_TMR_TIMEBASE or TCGETS, {B4800 -opost -isig -icanon -echo ...}) = 0
select(4, [0 3], NULL, NULL, {1, 0}) = 1 (in [3], left {0, 988000})
read(3, "k"..., 127) = 1
write(1, "k"..., 1) = 1
ioctl(3, TIOCMGET, [TIOCM_DTR|TIOCM_RTS|TIOCM_CTS]) = 0
ioctl(3, SNDCTL_TMR_TIMEBASE or TCGETS, {B4800 -opost -isig -icanon -echo ...}) = 0
select(4, [0 3], NULL, NULL, {1, 0}) = 1 (in [0], left {0, 820000})
read(0, "i"..., 32) = 1
write(3, "i"..., 1) = 1
ioctl(3, TIOCMGET, [TIOCM_DTR|TIOCM_RTS|TIOCM_CTS]) = 0
ioctl(3, SNDCTL_TMR_TIMEBASE or TCGETS, {B4800 -opost -isig -icanon -echo ...}) = 0
select(4, [0 3], NULL, NULL, {1, 0}) = 1 (in [3], left {0, 992000})
read(3, "i"..., 127) = 1
write(1, "i"..., 1) = 1
ioctl(3, TIOCMGET, [TIOCM_DTR|TIOCM_RTS|TIOCM_CTS]) = 0
ioctl(3, SNDCTL_TMR_TIMEBASE or TCGETS, {B4800 -opost -isig -icanon -echo ...}) = 0
select(4, [0 3], NULL, NULL, {1, 0}) = 1 (in [0], left {0, 984000})
read(0, "n"..., 32) = 1
write(3, "n"..., 1) = 1
ioctl(3, TIOCMGET, [TIOCM_DTR|TIOCM_RTS|TIOCM_CTS]) = 0
ioctl(3, SNDCTL_TMR_TIMEBASE or TCGETS, {B4800 -opost -isig -icanon -echo ...}) = 0
select(4, [0 3], NULL, NULL, {1, 0}) = 1 (in [3], left {0, 992000})
read(3, "n"..., 127) = 1
write(1, "n"..., 1) = 1
ioctl(3, TIOCMGET, [TIOCM_DTR|TIOCM_RTS|TIOCM_CTS]) = 0
ioctl(3, SNDCTL_TMR_TIMEBASE or TCGETS, {B4800 -opost -isig -icanon -echo ...}) = 0
select(4, [0 3], NULL, NULL, {1, 0}) = 1 (in [0], left {0, 876000})
read(0, "g"..., 32) = 1
write(3, "g"..., 1) = 1
ioctl(3, TIOCMGET, [TIOCM_DTR|TIOCM_RTS|TIOCM_CTS]) = 0
ioctl(3, SNDCTL_TMR_TIMEBASE or TCGETS, {B4800 -opost -isig -icanon -echo ...}) = 0
select(4, [0 3], NULL, NULL, {1, 0}) = 1 (in [3], left {0, 988000})
read(3, "g"..., 127) = 1
write(1, "g"..., 1) = 1
ioctl(3, TIOCMGET, [TIOCM_DTR|TIOCM_RTS|TIOCM_CTS]) = 0
ioctl(3, SNDCTL_TMR_TIMEBASE or TCGETS, {B4800 -opost -isig -icanon -echo ...}) = 0
select(4, [0 3], NULL, NULL, {1, 0}) = 1 (in [0], left {0, 948000})
read(0, " "..., 32) = 1
write(3, " "..., 1) = 1
ioctl(3, TIOCMGET, [TIOCM_DTR|TIOCM_RTS|TIOCM_CTS]) = 0
ioctl(3, SNDCTL_TMR_TIMEBASE or TCGETS, {B4800 -opost -isig -icanon -echo ...}) = 0
select(4, [0 3], NULL, NULL, {1, 0}) = 1 (in [3], left {0, 988000})
read(3, " "..., 127) = 1
write(1, " "..., 1) = 1
ioctl(3, TIOCMGET, [TIOCM_DTR|TIOCM_RTS|TIOCM_CTS]) = 0
ioctl(3, SNDCTL_TMR_TIMEBASE or TCGETS, {B4800 -opost -isig -icanon -echo ...}) = 0
select(4, [0 3], NULL, NULL, {1, 0}) = 1 (in [0], left {0, 636000})
read(0, "f"..., 32) = 1
write(3, "f"..., 1) = 1
ioctl(3, TIOCMGET, [TIOCM_DTR|TIOCM_RTS|TIOCM_CTS]) = 0
ioctl(3, SNDCTL_TMR_TIMEBASE or TCGETS, {B4800 -opost -isig -icanon -echo ...}) = 0
select(4, [0 3], NULL, NULL, {1, 0}) = 1 (in [3], left {0, 992000})
read(3, "f"..., 127) = 1
write(1, "f"..., 1) = 1
ioctl(3, TIOCMGET, [TIOCM_DTR|TIOCM_RTS|TIOCM_CTS]) = 0
ioctl(3, SNDCTL_TMR_TIMEBASE or TCGETS, {B4800 -opost -isig -icanon -echo ...}) = 0
select(4, [0 3], NULL, NULL, {1, 0}) = 1 (in [0], left {0, 876000})
read(0, "i"..., 32) = 1
write(3, "i"..., 1) = 1
ioctl(3, TIOCMGET, [TIOCM_DTR|TIOCM_RTS|TIOCM_CTS]) = 0
ioctl(3, SNDCTL_TMR_TIMEBASE or TCGETS, {B4800 -opost -isig -icanon -echo ...}) = 0
select(4, [0 3], NULL, NULL, {1, 0}) = 1 (in [3], left {0, 992000})
read(3, "i"..., 127) = 1
write(1, "i"..., 1) = 1
ioctl(3, TIOCMGET, [TIOCM_DTR|TIOCM_RTS|TIOCM_CTS]) = 0
ioctl(3, SNDCTL_TMR_TIMEBASE or TCGETS, {B4800 -opost -isig -icanon -echo ...}) = 0
select(4, [0 3], NULL, NULL, {1, 0}) = 1 (in [0], left {0, 952000})
read(0, "n"..., 32) = 1
write(3, "n"..., 1) = 1
ioctl(3, TIOCMGET, [TIOCM_DTR|TIOCM_RTS|TIOCM_CTS]) = 0
ioctl(3, SNDCTL_TMR_TIMEBASE or TCGETS, {B4800 -opost -isig -icanon -echo ...}) = 0
select(4, [0 3], NULL, NULL, {1, 0}) = 1 (in [3], left {0, 992000})
read(3, "n"..., 127) = 1
write(1, "n"..., 1) = 1
ioctl(3, TIOCMGET, [TIOCM_DTR|TIOCM_RTS|TIOCM_CTS]) = 0
ioctl(3, SNDCTL_TMR_TIMEBASE or TCGETS, {B4800 -opost -isig -icanon -echo ...}) = 0
select(4, [0 3], NULL, NULL, {1, 0}) = 1 (in [0], left {0, 888000})
read(0, "e"..., 32) = 1
write(3, "e"..., 1) = 1
ioctl(3, TIOCMGET, [TIOCM_DTR|TIOCM_RTS|TIOCM_CTS]) = 0
ioctl(3, SNDCTL_TMR_TIMEBASE or TCGETS, {B4800 -opost -isig -icanon -echo ...}) = 0
select(4, [0 3], NULL, NULL, {1, 0}) = 1 (in [3], left {0, 992000})
read(3, "e"..., 127) = 1
write(1, "e"..., 1) = 1
ioctl(3, TIOCMGET, [TIOCM_DTR|TIOCM_RTS|TIOCM_CTS]) = 0
ioctl(3, SNDCTL_TMR_TIMEBASE or TCGETS, {B4800 -opost -isig -icanon -echo ...}) = 0
select(4, [0 3], NULL, NULL, {1, 0}) = 1 (in [0], left {0, 780000})
read(0, "
"..., 32) = 1
write(3, "
"..., 1) = 1
ioctl(3, TIOCMGET, [TIOCM_DTR|TIOCM_RTS|TIOCM_CTS]) = 0
ioctl(3, SNDCTL_TMR_TIMEBASE or TCGETS, {B4800 -opost -isig -icanon -echo ...}) = 0
select(4, [0 3], NULL, NULL, {1, 0}) = 1 (in [3], left {0, 984000})
read(3, "
"..., 127) = 2
write(1, "
"..., 2) = 2
ioctl(3, TIOCMGET, [TIOCM_DTR|TIOCM_RTS|TIOCM_CTS]) = 0
ioctl(3, SNDCTL_TMR_TIMEBASE or TCGETS, {B4800 -opost -isig -icanon -echo ...}) = 0
select(4, [0 3], NULL, NULL, {1, 0}) = 1 (in [3], left {0, 984000})
read(3, "Ready
"..., 127) = 7
write(1, "Ready
"..., 7) = 7
ioctl(3, TIOCMGET, [TIOCM_DTR|TIOCM_RTS|TIOCM_CTS]) = 0
ioctl(3, SNDCTL_TMR_TIMEBASE or TCGETS, {B4800 -opost -isig -icanon -echo ...}) = 0
select(4, [0 3], NULL, NULL, {1, 0}) = 0 (Timeout)
ioctl(3, TIOCMGET, [TIOCM_DTR|TIOCM_RTS|TIOCM_CTS]) = 0
ioctl(3, SNDCTL_TMR_TIMEBASE or TCGETS, {B4800 -opost -isig -icanon -echo ...}) = 0
select(4, [0 3], NULL, NULL, {1, 0}) = 0 (Timeout)
ioctl(3, TIOCMGET, [TIOCM_DTR|TIOCM_RTS|TIOCM_CTS]) = 0
ioctl(3, SNDCTL_TMR_TIMEBASE or TCGETS, {B4800 -opost -isig -icanon -echo ...}) = 0
select(4, [0 3], NULL, NULL, {1, 0}) = 0 (Timeout)
ioctl(3, TIOCMGET, [TIOCM_DTR|TIOCM_RTS|TIOCM_CTS]) = 0
ioctl(3, SNDCTL_TMR_TIMEBASE or TCGETS, {B4800 -opost -isig -icanon -echo ...}) = 0
select(4, [0 3], NULL, NULL, {1, 0}) = 0 (Timeout)
ioctl(3, TIOCMGET, [TIOCM_DTR|TIOCM_RTS|TIOCM_CTS]) = 0
ioctl(3, SNDCTL_TMR_TIMEBASE or TCGETS, {B4800 -opost -isig -icanon -echo ...}) = 0
select(4, [0 3], NULL, NULL, {1, 0}) = 0 (Timeout)
ioctl(3, TIOCMGET, [TIOCM_DTR|TIOCM_RTS|TIOCM_CTS]) = 0
ioctl(3, SNDCTL_TMR_TIMEBASE or TCGETS, {B4800 -opost -isig -icanon -echo ...}) = 0
select(4, [0 3], NULL, NULL, {1, 0}) = 1 (in [0], left {0, 400000})
read(0, "1"..., 32) = 1
read(0, "q"..., 32) = 1
ioctl(0, SNDCTL_TMR_TIMEBASE or TCGETS, {B38400 -opost -isig -icanon -echo ...}) = 0
ioctl(0, SNDCTL_TMR_STOP or TCSETSW, {B38400 opost isig icanon echo ...}) = 0
ioctl(0, SNDCTL_TMR_TIMEBASE or TCGETS, {B38400 opost isig icanon echo ...}) = 0
ioctl(0, SNDCTL_TMR_TIMEBASE or TCGETS, {B38400 opost isig icanon echo ...}) = 0
ioctl(0, SNDCTL_TMR_TIMEBASE or TCGETS, {B38400 opost isig icanon echo ...}) = 0
ioctl(0, SNDCTL_TMR_STOP or TCSETSW, {B38400 -opost -isig -icanon -echo ...}) = 0
ioctl(0, SNDCTL_TMR_TIMEBASE or TCGETS, {B38400 -opost -isig -icanon -echo ...}) = 0
ioctl(0, TCFLSH, 0x2) = 0
write(1, "33[8;40H33[?25l+-------------------"..., 146) = 146
write(1, "33[10;43H33[0m33(B33[7m Yes "..., 27) = 27
read(0, "
"..., 32) = 1
write(1, "33[?12l33[?25h"..., 12) = 12
write(1, "33[8;1H33[0m33(B Pre"..., 292) = 292
ioctl(3, SNDCTL_TMR_TIMEBASE or TCGETS, {B4800 -opost -isig -icanon -echo ...}) = 0
ioctl(3, SNDCTL_TMR_TIMEBASE or TCGETS, {B4800 -opost -isig -icanon -echo ...}) = 0
ioctl(3, SNDCTL_TMR_START or TCSETS, {B4800 -opost -isig -icanon -echo ...}) = 0
ioctl(3, SNDCTL_TMR_TIMEBASE or TCGETS, {B4800 -opost -isig -icanon -echo ...}) = 0
rt_sigaction(SIGTERM, {SIG_IGN}, {0x804a420, [TERM], SA_RESTART}, 8) = 0
rt_sigaction(SIGHUP, {SIG_IGN}, {0x804a420, [HUP], SA_RESTART}, 8) = 0
rt_sigaction(SIGTSTP, {SIG_DFL}, {0x804a4f0, [TSTP], SA_RESTART}, 8) = 0
rt_sigaction(SIGQUIT, {SIG_DFL}, {SIG_IGN}, 8) = 0
write(1, "33[?12l33[?25h"..., 12) = 12
munmap(0xb7a09000, 1601536) = 0
write(1, "33[?12l33[?25h"..., 12) = 12
ioctl(0, SNDCTL_TMR_TIMEBASE or TCGETS, {B38400 -opost -isig -icanon -echo ...}) = 0
ioctl(0, SNDCTL_TMR_STOP or TCSETSW, {B38400 opost isig icanon echo ...}) = 0
ioctl(0, SNDCTL_TMR_TIMEBASE or TCGETS, {B38400 opost isig icanon echo ...}) = 0
write(1, "33[H33[2J"..., 7) = 7
write(1, "33[?12l33[?25h"..., 12) = 12
write(1, "33[?1l33>33[!p33[?3;4l33[4l33>"..., 24) = 24
setregid32(1000, 1000) = 0
setreuid32(1000, 1000) = 0
unlink("/var/lock/LCK..ttyUSB0") = 0
close(3) = 0
chown32("/dev/ttyUSB0", 0, 20) = -1 EPERM (Operation not permitted)
exit_group(0) = ?
open("/dev/ttyUSB0", O_RDWR|O_NOCTTY|O_NONBLOCK) = 3
fcntl64(3, F_GETFL) = 0x802 (flags O_RDWR|O_NONBLOCK)
fcntl64(3, F_SETFL, O_RDWR) = 0
ioctl(3, SNDCTL_TMR_TIMEBASE or TCGETS, {B4800 -opost -isig -icanon -echo ...}) = 0
ioctl(3, TIOCMGET, [0]) = 0
ioctl(3, SNDCTL_TMR_TIMEBASE or TCGETS, {B4800 -opost -isig -icanon -echo ...}) = 0
ioctl(3, SNDCTL_TMR_TIMEBASE or TCGETS, {B4800 -opost -isig -icanon -echo ...}) = 0
ioctl(3, SNDCTL_TMR_START or TCSETS, {B4800 -opost -isig -icanon -echo ...}) = 0
ioctl(3, SNDCTL_TMR_TIMEBASE or TCGETS, {B4800 -opost -isig -icanon -echo ...}) = 0
ioctl(3, TIOCMGET, [0]) = 0
ioctl(3, TIOCMSET, [TIOCM_RTS]) = 0
ioctl(3, SNDCTL_TMR_TIMEBASE or TCGETS, {B4800 -opost -isig -icanon -echo ...}) = 0
ioctl(3, SNDCTL_TMR_TIMEBASE or TCGETS, {B4800 -opost -isig -icanon -echo ...}) = 0
ioctl(3, SNDCTL_TMR_START or TCSETS, {B4800 -opost -isig -icanon -echo ...}) = 0
ioctl(3, SNDCTL_TMR_TIMEBASE or TCGETS, {B4800 -opost -isig -icanon -echo ...}) = 0
alarm(0) = 4
rt_sigaction(SIGALRM, {SIG_IGN}, {0x8062270, [ALRM], SA_RESTART}, 8) = 0
stat64("/dev/ttyUSB0", {st_mode=S_IFCHR|0660, st_rdev=makedev(188, 0), ...}) = 0
chown32("/dev/ttyUSB0", 1000, 1000) = -1 EPERM (Operation not permitted)
ioctl(3, SNDCTL_TMR_TIMEBASE or TCGETS, {B4800 -opost -isig -icanon -echo ...}) = 0
ioctl(3, SNDCTL_TMR_TIMEBASE or TCGETS, {B4800 -opost -isig -icanon -echo ...}) = 0
ioctl(3, SNDCTL_TMR_START or TCSETS, {B4800 -opost -isig -icanon -echo ...}) = 0
ioctl(3, SNDCTL_TMR_TIMEBASE or TCGETS, {B4800 -opost -isig -icanon -echo ...}) = 0
ioctl(3, SNDCTL_TMR_TIMEBASE or TCGETS, {B4800 -opost -isig -icanon -echo ...}) = 0
ioctl(3, SNDCTL_TMR_TIMEBASE or TCGETS, {B4800 -opost -isig -icanon -echo ...}) = 0
ioctl(3, SNDCTL_TMR_START or TCSETS, {B4800 -opost -isig -icanon -echo ...}) = 0
ioctl(3, SNDCTL_TMR_TIMEBASE or TCGETS, {B4800 -opost -isig -icanon -echo ...}) = 0
ioctl(3, TCFLSH, 0x2) = 0
setregid32(1000, 1000) = 0
setreuid32(1000, 1000) = 0
ioctl(1, SNDCTL_TMR_TIMEBASE or TCGETS, {B38400 opost isig icanon echo ...}) = 0
stat64("/home/nick/.terminfo", 0xbfb4e2a4) = -1 ENOENT (No such file or directory)
stat64("/etc/terminfo", {st_mode=S_IFDIR|0755, st_size=72, ...}) = 0
access("/etc/terminfo/x/xterm", R_OK) = -1 ENOENT (No such file or directory)
stat64("/lib/terminfo", {st_mode=S_IFDIR|0755, st_size=360, ...}) = 0
access("/lib/terminfo/x/xterm", R_OK) = 0
open("/lib/terminfo/x/xterm", O_RDONLY|O_LARGEFILE) = 4
read(4, "3213435172351&5xterm|X11 terminal em"..., 4097) = 2244
close(4) = 0
ioctl(1, SNDCTL_TMR_TIMEBASE or TCGETS, {B38400 opost isig icanon echo ...}) = 0
ioctl(1, SNDCTL_TMR_TIMEBASE or TCGETS, {B38400 opost isig icanon echo ...}) = 0
ioctl(0, TIOCGWINSZ, {ws_row=63, ws_col=100, ws_xpixel=0, ws_ypixel=0}) = 0
write(1, "33"..., 1) = 1
write(1, "["..., 1) = 1
write(1, "!"..., 1) = 1
write(1, "p"..., 1) = 1
write(1, "33"..., 1) = 1
write(1, "["..., 1) = 1
write(1, "?"..., 1) = 1
write(1, "3"..., 1) = 1
write(1, ";"..., 1) = 1
write(1, "4"..., 1) = 1
write(1, "l"..., 1) = 1
write(1, "33"..., 1) = 1
write(1, "["..., 1) = 1
write(1, "4"..., 1) = 1
write(1, "l"..., 1) = 1
write(1, "33"..., 1) = 1
write(1, ">"..., 1) = 1
write(1, "33"..., 1) = 1
write(1, "["..., 1) = 1
write(1, "0"..., 1) = 1
write(1, "m"..., 1) = 1
write(1, "33"..., 1) = 1
write(1, "("..., 1) = 1
write(1, "B"..., 1) = 1
ioctl(0, SNDCTL_TMR_TIMEBASE or TCGETS, {B38400 opost isig icanon echo ...}) = 0
ioctl(0, SNDCTL_TMR_TIMEBASE or TCGETS, {B38400 opost isig icanon echo ...}) = 0
ioctl(0, SNDCTL_TMR_STOP or TCSETSW, {B38400 opost isig icanon echo ...}) = 0
ioctl(0, SNDCTL_TMR_TIMEBASE or TCGETS, {B38400 opost isig icanon echo ...}) = 0
ioctl(0, SNDCTL_TMR_TIMEBASE or TCGETS, {B38400 opost isig icanon echo ...}) = 0
ioctl(0, SNDCTL_TMR_TIMEBASE or TCGETS, {B38400 opost isig icanon echo ...}) = 0
ioctl(0, SNDCTL_TMR_STOP or TCSETSW, {B38400 -opost -isig -icanon -echo ...}) = 0
ioctl(0, SNDCTL_TMR_TIMEBASE or TCGETS, {B38400 -opost -isig -icanon -echo ...}) = 0
write(1, "33[?1h33=33[H33[2J"..., 14) = 14
rt_sigaction(SIGTERM, {0x804a420, [TERM], SA_RESTART}, {SIG_DFL}, 8) = 0
rt_sigaction(SIGHUP, {0x804a420, [HUP], SA_RESTART}, {SIG_DFL}, 8) = 0
rt_sigaction(SIGINT, {SIG_IGN}, {SIG_DFL}, 8) = 0
rt_sigaction(SIGQUIT, {SIG_IGN}, {SIG_DFL}, 8) = 0
rt_sigaction(SIGPIPE, {SIG_IGN}, {SIG_DFL}, 8) = 0
rt_sigaction(SIGTSTP, {0x804a4f0, [TSTP], SA_RESTART}, {SIG_DFL}, 8) = 0
rt_sigaction(SIGTTIN, {SIG_IGN}, {SIG_DFL}, 8) = 0
rt_sigaction(SIGTTOU, {SIG_IGN}, {SIG_DFL}, 8) = 0
rt_sigaction(SIGWINCH, {0x804a2d0, [WINCH], SA_RESTART}, {SIG_DFL}, 8) = 0
write(1, "33[0m33(B33[7m33[63;1H33[K"..., 21) = 21
write(1, "33[?12l33[?25h"..., 12) = 12
write(1, "33[?25l "..., 118) = 118
mmap2(NULL, 1601536, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0xb79c5000
write(1, "33[?12l33[?25h"..., 12) = 12
write(1, "33[63;34H"..., 8) = 8
write(1, "NOR"..., 3) = 3
write(1, "33[1;1H"..., 6) = 6
open("/usr/share/locale/locale.alias", O_RDONLY) = 4
fstat64(4, {st_mode=S_IFREG|0644, st_size=2586, ...}) = 0
mmap2(NULL, 4096, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0xb7f1e000
read(4, "# Locale name alias data base.
# "..., 4096) = 2586
read(4, ""..., 4096) = 0
close(4) = 0
munmap(0xb7f1e000, 4096) = 0
open("/usr/share/locale/en_GB/LC_MESSAGES/minicom.mo", O_RDONLY) = -1 ENOENT (No such file or directory)
open("/usr/share/locale/en/LC_MESSAGES/minicom.mo", O_RDONLY) = -1 ENOENT (No such file or directory)
open("/usr/share/locale/en_US/LC_MESSAGES/minicom.mo", O_RDONLY) = -1 ENOENT (No such file or directory)
write(1, "33[63;1H33[?25l CTRL-A Z for help |"..., 132) = 132
write(1, "33[1;1H"..., 6) = 6
write(1, "
33[0m33(BWelcome to minicom 2.3
"..., 32) = 32
write(1, "
OPTIONS: I18n
"..., 17) = 17
write(1, "Compiled on Feb 24 2008, 16:35:15"..., 36) = 36
write(1, "Port /dev/ttyUSB033[7;18H"..., 24) = 24
write(1, "33[8;18HPress CTRL-A Z for help on"..., 49) = 49
setregid32(1000, 1000) = 0
setreuid32(1000, 1000) = 0
open("/home/nick/.dialdir", O_RDONLY) = -1 ENOENT (No such file or directory)
ioctl(0, SNDCTL_TMR_TIMEBASE or TCGETS, {B38400 -opost -isig -icanon -echo ...}) = 0
ioctl(0, SNDCTL_TMR_STOP or TCSETSW, {B38400 opost isig icanon echo ...}) = 0
ioctl(0, SNDCTL_TMR_TIMEBASE or TCGETS, {B38400 opost isig icanon echo ...}) = 0
ioctl(0, SNDCTL_TMR_TIMEBASE or TCGETS, {B38400 opost isig icanon echo ...}) = 0
ioctl(0, SNDCTL_TMR_TIMEBASE or TCGETS, {B38400 opost isig icanon echo ...}) = 0
ioctl(0, SNDCTL_TMR_STOP or TCSETSW, {B38400 -opost -isig -icanon -echo ...}) = 0
ioctl(0, SNDCTL_TMR_TIMEBASE or TCGETS, {B38400 -opost -isig -icanon -echo ...}) = 0
ioctl(3, TIOCMGET, [0]) = 0
ioctl(3, SNDCTL_TMR_TIMEBASE or TCGETS, {B4800 -opost -isig -icanon -echo ...}) = 0
select(4, [0 3], NULL, NULL, {1, 0}) = 0 (Timeout)
ioctl(3, TIOCMGET, [0]) = 0
ioctl(3, SNDCTL_TMR_TIMEBASE or TCGETS, {B4800 -opost -isig -icanon -echo ...}) = 0
select(4, [0 3], NULL, NULL, {1, 0}) = 1 (in [0], left {0, 724000})
ioctl(0, KDGETLED, 0xbfb4f2f4) = -1 EINVAL (Invalid argument)
read(0, "a"..., 32) = 1
write(3, "a"..., 1) = 1
ioctl(3, TIOCMGET, [TIOCM_DTR|TIOCM_RNG|TIOCM_DSR]) = 0
ioctl(3, SNDCTL_TMR_TIMEBASE or TCGETS, {B4800 -opost -isig -icanon -echo ...}) = 0
select(4, [0 3], NULL, NULL, {1, 0}) = 1 (in [3], left {1, 0})
read(3, "O"..., 127) = 1
write(1, "O"..., 1) = 1
ioctl(3, TIOCMGET, [TIOCM_DTR|TIOCM_RNG|TIOCM_DSR]) = 0
ioctl(3, SNDCTL_TMR_TIMEBASE or TCGETS, {B4800 -opost -isig -icanon -echo ...}) = 0
select(4, [0 3], NULL, NULL, {1, 0}) = 1 (in [0], left {0, 868000})
read(0, "a"..., 32) = 1
write(3, "a"..., 1) = 1
ioctl(3, TIOCMGET, [TIOCM_DTR|TIOCM_RNG|TIOCM_DSR]) = 0
ioctl(3, SNDCTL_TMR_TIMEBASE or TCGETS, {B4800 -opost -isig -icanon -echo ...}) = 0
select(4, [0 3], NULL, NULL, {1, 0}) = 1 (in [3], left {1, 0})
read(3, ""..., 127) = 1
ioctl(3, TIOCMGET, [TIOCM_DTR|TIOCM_RNG|TIOCM_DSR]) = 0
ioctl(3, SNDCTL_TMR_TIMEBASE or TCGETS, {B4800 -opost -isig -icanon -echo ...}) = 0
select(4, [0 3], NULL, NULL, {1, 0}) = 1 (in [0], left {0, 832000})
read(0, "a"..., 32) = 1
write(3, "a"..., 1) = 1
ioctl(3, TIOCMGET, [TIOCM_DTR|TIOCM_RNG|TIOCM_DSR]) = 0
ioctl(3, SNDCTL_TMR_TIMEBASE or TCGETS, {B4800 -opost -isig -icanon -echo ...}) = 0
select(4, [0 3], NULL, NULL, {1, 0}) = 1 (in [3], left {1, 0})
read(3, "O"..., 127) = 1
write(1, "O"..., 1) = 1
ioctl(3, TIOCMGET, [TIOCM_DTR|TIOCM_RNG|TIOCM_DSR]) = 0
ioctl(3, SNDCTL_TMR_TIMEBASE or TCGETS, {B4800 -opost -isig -icanon -echo ...}) = 0
select(4, [0 3], NULL, NULL, {1, 0}) = 1 (in [0], left {0, 840000})
read(0, "a"..., 32) = 1
write(3, "a"..., 1) = 1
ioctl(3, TIOCMGET, [TIOCM_DTR|TIOCM_RNG|TIOCM_DSR]) = 0
ioctl(3, SNDCTL_TMR_TIMEBASE or TCGETS, {B4800 -opost -isig -icanon -echo ...}) = 0
select(4, [0 3], NULL, NULL, {1, 0}) = 1 (in [3], left {1, 0})
read(3, ""..., 127) = 1
ioctl(3, TIOCMGET, [TIOCM_DTR|TIOCM_RNG|TIOCM_DSR]) = 0
ioctl(3, SNDCTL_TMR_TIMEBASE or TCGETS, {B4800 -opost -isig -icanon -echo ...}) = 0
select(4, [0 3], NULL, NULL, {1, 0}) = 1 (in [0], left {0, 860000})
read(0, "a"..., 32) = 1
write(3, "a"..., 1) = 1
ioctl(3, TIOCMGET, [TIOCM_DTR|TIOCM_RNG|TIOCM_DSR]) = 0
ioctl(3, SNDCTL_TMR_TIMEBASE or TCGETS, {B4800 -opost -isig -icanon -echo ...}) = 0
select(4, [0 3], NULL, NULL, {1, 0}) = 1 (in [3], left {1, 0})
read(3, "O"..., 127) = 1
write(1, "O"..., 1) = 1
ioctl(3, TIOCMGET, [TIOCM_DTR|TIOCM_RNG|TIOCM_DSR]) = 0
ioctl(3, SNDCTL_TMR_TIMEBASE or TCGETS, {B4800 -opost -isig -icanon -echo ...}) = 0
select(4, [0 3], NULL, NULL, {1, 0}) = 1 (in [0], left {0, 688000})
read(0, "
"..., 32) = 1
write(3, "
"..., 1) = 1
ioctl(3, TIOCMGET, [TIOCM_DTR]) = 0
ioctl(3, SNDCTL_TMR_TIMEBASE or TCGETS, {B4800 -opost -isig -icanon -echo ...}) = 0
select(4, [0 3], NULL, NULL, {1, 0}) = 1 (in [3], left {1, 0})
read(3, ""..., 127) = 1
ioctl(3, TIOCMGET, [TIOCM_DTR]) = 0
ioctl(3, SNDCTL_TMR_TIMEBASE or TCGETS, {B4800 -opost -isig -icanon -echo ...}) = 0
select(4, [0 3], NULL, NULL, {1, 0}) = 1 (in [0], left {0, 320000})
read(0, "h"..., 32) = 1
write(3, "h"..., 1) = 1
ioctl(3, TIOCMGET, [TIOCM_RNG|TIOCM_DSR]) = 0
ioctl(3, SNDCTL_TMR_TIMEBASE or TCGETS, {B4800 -opost -isig -icanon -echo ...}) = 0
select(4, [0 3], NULL, NULL, {1, 0}) = 1 (in [3], left {1, 0})
read(3, "O"..., 127) = 1
write(1, "O"..., 1) = 1
ioctl(3, TIOCMGET, [TIOCM_RNG|TIOCM_DSR]) = 0
ioctl(3, SNDCTL_TMR_TIMEBASE or TCGETS, {B4800 -opost -isig -icanon -echo ...}) = 0
select(4, [0 3], NULL, NULL, {1, 0}) = 1 (in [0], left {0, 864000})
read(0, "e"..., 32) = 1
write(3, "e"..., 1) = 1
ioctl(3, TIOCMGET, [TIOCM_DTR|TIOCM_RNG|TIOCM_DSR]) = 0
ioctl(3, SNDCTL_TMR_TIMEBASE or TCGETS, {B4800 -opost -isig -icanon -echo ...}) = 0
select(4, [0 3], NULL, NULL, {1, 0}) = 1 (in [3], left {1, 0})
read(3, ""..., 127) = 1
ioctl(3, TIOCMGET, [TIOCM_DTR|TIOCM_RNG|TIOCM_DSR]) = 0
ioctl(3, SNDCTL_TMR_TIMEBASE or TCGETS, {B4800 -opost -isig -icanon -echo ...}) = 0
select(4, [0 3], NULL, NULL, {1, 0}) = 1 (in [0], left {0, 836000})
read(0, "l"..., 32) = 1
write(3, "l"..., 1) = 1
ioctl(3, TIOCMGET, [TIOCM_RNG|TIOCM_DSR]) = 0
ioctl(3, SNDCTL_TMR_TIMEBASE or TCGETS, {B4800 -opost -isig -icanon -echo ...}) = 0
select(4, [0 3], NULL, NULL, {1, 0}) = 1 (in [3], left {1, 0})
read(3, "O"..., 127) = 1
write(1, "O"..., 1) = 1
ioctl(3, TIOCMGET, [TIOCM_RNG|TIOCM_DSR]) = 0
ioctl(3, SNDCTL_TMR_TIMEBASE or TCGETS, {B4800 -opost -isig -icanon -echo ...}) = 0
select(4, [0 3], NULL, NULL, {1, 0}) = 1 (in [0], left {0, 872000})
read(0, "l"..., 32) = 1
write(3, "l"..., 1) = 1
ioctl(3, TIOCMGET, [TIOCM_RNG|TIOCM_DSR]) = 0
ioctl(3, SNDCTL_TMR_TIMEBASE or TCGETS, {B4800 -opost -isig -icanon -echo ...}) = 0
select(4, [0 3], NULL, NULL, {1, 0}) = 1 (in [3], left {1, 0})
read(3, ""..., 127) = 1
ioctl(3, TIOCMGET, [TIOCM_RNG|TIOCM_DSR]) = 0
ioctl(3, SNDCTL_TMR_TIMEBASE or TCGETS, {B4800 -opost -isig -icanon -echo ...}) = 0
select(4, [0 3], NULL, NULL, {1, 0}) = 1 (in [0], left {0, 816000})
read(0, "o"..., 32) = 1
write(3, "o"..., 1) = 1
ioctl(3, TIOCMGET, [TIOCM_DTR|TIOCM_RTS|TIOCM_RNG|TIOCM_DSR]) = 0
ioctl(3, SNDCTL_TMR_TIMEBASE or TCGETS, {B4800 -opost -isig -icanon -echo ...}) = 0
select(4, [0 3], NULL, NULL, {1, 0}) = 1 (in [3], left {1, 0})
read(3, "O"..., 127) = 1
write(1, "O"..., 1) = 1
ioctl(3, TIOCMGET, [TIOCM_DTR|TIOCM_RTS|TIOCM_RNG|TIOCM_DSR]) = 0
ioctl(3, SNDCTL_TMR_TIMEBASE or TCGETS, {B4800 -opost -isig -icanon -echo ...}) = 0
select(4, [0 3], NULL, NULL, {1, 0}) = 1 (in [0], left {0, 652000})
read(0, "
"..., 32) = 1
write(3, "
"..., 1) = 1
ioctl(3, TIOCMGET, [TIOCM_DTR]) = 0
ioctl(3, SNDCTL_TMR_TIMEBASE or TCGETS, {B4800 -opost -isig -icanon -echo ...}) = 0
select(4, [0 3], NULL, NULL, {1, 0}) = 1 (in [3], left {1, 0})
read(3, ""..., 127) = 1
ioctl(3, TIOCMGET, [TIOCM_DTR]) = 0
ioctl(3, SNDCTL_TMR_TIMEBASE or TCGETS, {B4800 -opost -isig -icanon -echo ...}) = 0
select(4, [0 3], NULL, NULL, {1, 0}) = 0 (Timeout)
ioctl(3, TIOCMGET, [TIOCM_DTR]) = 0
ioctl(3, SNDCTL_TMR_TIMEBASE or TCGETS, {B4800 -opost -isig -icanon -echo ...}) = 0
select(4, [0 3], NULL, NULL, {1, 0}) = 0 (Timeout)
ioctl(3, TIOCMGET, [TIOCM_DTR]) = 0
ioctl(3, SNDCTL_TMR_TIMEBASE or TCGETS, {B4800 -opost -isig -icanon -echo ...}) = 0
select(4, [0 3], NULL, NULL, {1, 0}) = 0 (Timeout)
ioctl(3, TIOCMGET, [TIOCM_DTR]) = 0
ioctl(3, SNDCTL_TMR_TIMEBASE or TCGETS, {B4800 -opost -isig -icanon -echo ...}) = 0
select(4, [0 3], NULL, NULL, {1, 0}) = 1 (in [0], left {0, 556000})
read(0, "b"..., 32) = 1
write(3, "b"..., 1) = 1
ioctl(3, TIOCMGET, [TIOCM_RTS|TIOCM_RNG|TIOCM_DSR]) = 0
ioctl(3, SNDCTL_TMR_TIMEBASE or TCGETS, {B4800 -opost -isig -icanon -echo ...}) = 0
select(4, [0 3], NULL, NULL, {1, 0}) = 1 (in [3], left {1, 0})
read(3, "O"..., 127) = 1
write(1, "O"..., 1) = 1
ioctl(3, TIOCMGET, [TIOCM_RTS|TIOCM_RNG|TIOCM_DSR]) = 0
ioctl(3, SNDCTL_TMR_TIMEBASE or TCGETS, {B4800 -opost -isig -icanon -echo ...}) = 0
select(4, [0 3], NULL, NULL, {1, 0}) = 1 (in [0], left {0, 836000})
read(0, "r"..., 32) = 1
write(3, "r"..., 1) = 1
ioctl(3, TIOCMGET, [TIOCM_RTS|TIOCM_CTS|TIOCM_RNG|TIOCM_DSR|0x8000]) = 0
ioctl(3, SNDCTL_TMR_TIMEBASE or TCGETS, {B4800 -opost -isig -icanon -echo ...}) = 0
select(4, [0 3], NULL, NULL, {1, 0}) = 1 (in [3], left {1, 0})
read(3, ""..., 127) = 1
ioctl(3, TIOCMGET, [TIOCM_RTS|TIOCM_CTS|TIOCM_RNG|TIOCM_DSR|0x8000]) = 0
ioctl(3, SNDCTL_TMR_TIMEBASE or TCGETS, {B4800 -opost -isig -icanon -echo ...}) = 0
select(4, [0 3], NULL, NULL, {1, 0}) = 1 (in [0], left {0, 876000})
read(0, "o"..., 32) = 1
write(3, "o"..., 1) = 1
ioctl(3, TIOCMGET, [TIOCM_DTR|TIOCM_RTS|TIOCM_RNG|TIOCM_DSR]) = 0
ioctl(3, SNDCTL_TMR_TIMEBASE or TCGETS, {B4800 -opost -isig -icanon -echo ...}) = 0
select(4, [0 3], NULL, NULL, {1, 0}) = 1 (in [3], left {1, 0})
read(3, "O"..., 127) = 1
write(1, "O"..., 1) = 1
ioctl(3, TIOCMGET, [TIOCM_DTR|TIOCM_RTS|TIOCM_RNG|TIOCM_DSR]) = 0
ioctl(3, SNDCTL_TMR_TIMEBASE or TCGETS, {B4800 -opost -isig -icanon -echo ...}) = 0
select(4, [0 3], NULL, NULL, {1, 0}) = 1 (in [0], left {0, 932000})
read(0, "k"..., 32) = 1
write(3, "k"..., 1) = 1
ioctl(3, TIOCMGET, [TIOCM_DTR|TIOCM_RTS|TIOCM_RNG|TIOCM_DSR]) = 0
ioctl(3, SNDCTL_TMR_TIMEBASE or TCGETS, {B4800 -opost -isig -icanon -echo ...}) = 0
select(4, [0 3], NULL, NULL, {1, 0}) = 1 (in [3], left {1, 0})
read(3, ""..., 127) = 1
ioctl(3, TIOCMGET, [TIOCM_DTR|TIOCM_RTS|TIOCM_RNG|TIOCM_DSR]) = 0
ioctl(3, SNDCTL_TMR_TIMEBASE or TCGETS, {B4800 -opost -isig -icanon -echo ...}) = 0
select(4, [0 3], NULL, NULL, {1, 0}) = 1 (in [0], left {0, 848000})
read(0, "e"..., 32) = 1
write(3, "e"..., 1) = 1
ioctl(3, TIOCMGET, [TIOCM_DTR|TIOCM_RNG|TIOCM_DSR]) = 0
ioctl(3, SNDCTL_TMR_TIMEBASE or TCGETS, {B4800 -opost -isig -icanon -echo ...}) = 0
select(4, [0 3], NULL, NULL, {1, 0}) = 1 (in [3], left {1, 0})
read(3, "O"..., 127) = 1
write(1, "O"..., 1) = 1
ioctl(3, TIOCMGET, [TIOCM_DTR|TIOCM_RNG|TIOCM_DSR]) = 0
ioctl(3, SNDCTL_TMR_TIMEBASE or TCGETS, {B4800 -opost -isig -icanon -echo ...}) = 0
select(4, [0 3], NULL, NULL, {1, 0}) = 1 (in [0], left {0, 896000})
read(0, "n"..., 32) = 1
write(3, "n"..., 1) = 1
ioctl(3, TIOCMGET, [TIOCM_RTS|TIOCM_RNG|TIOCM_DSR]) = 0
ioctl(3, SNDCTL_TMR_TIMEBASE or TCGETS, {B4800 -opost -isig -icanon -echo ...}) = 0
select(4, [0 3], NULL, NULL, {1, 0}) = 1 (in [3], left {1, 0})
read(3, ""..., 127) = 1
ioctl(3, TIOCMGET, [TIOCM_RTS|TIOCM_RNG|TIOCM_DSR]) = 0
ioctl(3, SNDCTL_TMR_TIMEBASE or TCGETS, {B4800 -opost -isig -icanon -echo ...}) = 0
select(4, [0 3], NULL, NULL, {1, 0}) = 1 (in [0], left {0, 728000})
read(0, "
"..., 32) = 1
write(3, "
"..., 1) = 1
ioctl(3, TIOCMGET, [TIOCM_DTR]) = 0
ioctl(3, SNDCTL_TMR_TIMEBASE or TCGETS, {B4800 -opost -isig -icanon -echo ...}) = 0
select(4, [0 3], NULL, NULL, {1, 0}) = 1 (in [3], left {1, 0})
read(3, "O"..., 127) = 1
write(1, "O"..., 1) = 1
ioctl(3, TIOCMGET, [TIOCM_DTR]) = 0
ioctl(3, SNDCTL_TMR_TIMEBASE or TCGETS, {B4800 -opost -isig -icanon -echo ...}) = 0
select(4, [0 3], NULL, NULL, {1, 0}) = 0 (Timeout)
ioctl(3, TIOCMGET, [TIOCM_DTR]) = 0
ioctl(3, SNDCTL_TMR_TIMEBASE or TCGETS, {B4800 -opost -isig -icanon -echo ...}) = 0
select(4, [0 3], NULL, NULL, {1, 0}) = 1 (in [0], left {0, 436000})
read(0, "1"..., 32) = 1
read(0, "q"..., 32) = 1
ioctl(0, SNDCTL_TMR_TIMEBASE or TCGETS, {B38400 -opost -isig -icanon -echo ...}) = 0
ioctl(0, SNDCTL_TMR_STOP or TCSETSW, {B38400 opost isig icanon echo ...}) = 0
ioctl(0, SNDCTL_TMR_TIMEBASE or TCGETS, {B38400 opost isig icanon echo ...}) = 0
ioctl(0, SNDCTL_TMR_TIMEBASE or TCGETS, {B38400 opost isig icanon echo ...}) = 0
ioctl(0, SNDCTL_TMR_TIMEBASE or TCGETS, {B38400 opost isig icanon echo ...}) = 0
ioctl(0, SNDCTL_TMR_STOP or TCSETSW, {B38400 -opost -isig -icanon -echo ...}) = 0
ioctl(0, SNDCTL_TMR_TIMEBASE or TCGETS, {B38400 -opost -isig -icanon -echo ...}) = 0
ioctl(0, TCFLSH, 0x2) = 0
write(1, "33[8;40H33[?25l+-------------------"..., 146) = 146
write(1, "33[10;43H33[0m33(B33[7m Yes "..., 27) = 27
read(0, "
"..., 32) = 1
write(1, "33[?12l33[?25h"..., 12) = 12
write(1, "33[8;1H33[0m33(B Pre"..., 293) = 293
ioctl(3, SNDCTL_TMR_TIMEBASE or TCGETS, {B4800 -opost -isig -icanon -echo ...}) = 0
ioctl(3, SNDCTL_TMR_TIMEBASE or TCGETS, {B4800 -opost -isig -icanon -echo ...}) = 0
ioctl(3, SNDCTL_TMR_START or TCSETS, {B4800 -opost -isig -icanon -echo ...}) = 0
ioctl(3, SNDCTL_TMR_TIMEBASE or TCGETS, {B4800 -opost -isig -icanon -echo ...}) = 0
rt_sigaction(SIGTERM, {SIG_IGN}, {0x804a420, [TERM], SA_RESTART}, 8) = 0
rt_sigaction(SIGHUP, {SIG_IGN}, {0x804a420, [HUP], SA_RESTART}, 8) = 0
rt_sigaction(SIGTSTP, {SIG_DFL}, {0x804a4f0, [TSTP], SA_RESTART}, 8) = 0
rt_sigaction(SIGQUIT, {SIG_DFL}, {SIG_IGN}, 8) = 0
write(1, "33[?12l33[?25h"..., 12) = 12
munmap(0xb79c5000, 1601536) = 0
write(1, "33[?12l33[?25h"..., 12) = 12
ioctl(0, SNDCTL_TMR_TIMEBASE or TCGETS, {B38400 -opost -isig -icanon -echo ...}) = 0
ioctl(0, SNDCTL_TMR_STOP or TCSETSW, {B38400 opost isig icanon echo ...}) = 0
ioctl(0, SNDCTL_TMR_TIMEBASE or TCGETS, {B38400 opost isig icanon echo ...}) = 0
write(1, "33[H33[2J"..., 7) = 7
write(1, "33[?12l33[?25h"..., 12) = 12
write(1, "33[?1l33>33[!p33[?3;4l33[4l33>"..., 24) = 24
setregid32(1000, 1000) = 0
setreuid32(1000, 1000) = 0
unlink("/var/lock/LCK..ttyUSB0") = 0
close(3) = 0
chown32("/dev/ttyUSB0", 0, 20) = -1 EPERM (Operation not permitted)
exit_group(0) = ?
 
Old 09-09-2008, 11:47 AM
Nick Leverton
 
Default Bug#498293: linux-image-2.6.26-1-686: mos7840 USB serial driver fails to work and causes kernel OOPS with 2.6.26-4

Attaching mos7820 and usbserial debug logs from both kernels. Generated
by adding "debug=1" option when loading both modules.

The behaviour of mos7820 in 2.6.26-4 is quite different, there are whole
swathes of functional code which seem not to be called in 2.6.26-4.

Still not sure why, I don't have a source for 2.6.26-3 but the mos7820
code differences are small between 2.6.25 (last kernel source I can find
quickly) and 2.6.26-4.

Nick
 
Old 11-07-2008, 10:23 PM
Moritz Muehlenhoff
 
Default Bug#498293: linux-image-2.6.26-1-686: mos7840 USB serial driver fails to work and causes kernel OOPS with 2.6.26-4

On Mon, Sep 08, 2008 at 08:38:20PM +0100, Nick Leverton wrote:
> Package: linux-image-2.6.26-1-686
> Version: 2.6.26-4
> Severity: serious
> Justification: lenny/rc-policy
>
> I have a USB "Express" twin port serial adaptor, which identifies itself
> as USB ID 9710:7840 MosChip Semiconductor. This uses the mos7840 Moschip
> 7840/7820 USB Serial Driver.
>
> On linux-image-2.6.26-1-686 version 2.6.26-3 this adaptor worked fine
> and neither of the following problems occurred.
>
> On linux-image-2.6.26-1-686 version 2.6.26-4 there are serious problems.
>
> First, the usb-serial ports do not work correctly. Whatever character
> I send to the tty, it emits the letter 'O' from the serial port.
> See the two strace attachments, which are from kernels 2.6.26-3 and
> 2.6.26-4 respectively. They were generated using minicom talking to a
> serial device which just echoes the input and sends the prompt "Ready"
> when it receives a carriage return.
>
> Unfortunately I didn't type the same characters in each test, but
> if you diff the straces you can see that the tiocmget behaviour is
> substantially changed in what it returns, in addition to the incorrect
> character being sent.
>
> Secondly, on unplugging the adaptor, a kernel OOPS is caused due to a
> null pointer dereference. See dmesg extract also attached.
>
> Following this OOPS, lsusb just hangs and is not interruptible with
> control-C, and on attempting to shut down the machine the shutdown process
> hangs when closing down Bluetooth (the built-in Bluetooth adaptor also
> presents a USB interface). Magic sysrq key still works fortunately !
>
> A different usb-serial device using the ftdi-sio driver still works
> without error.
>
> I see the following in the package changelog and wonder if this change
> is related to the destabilisation ?
>
> linux-2.6 (2.6.26-4) unstable; urgency=low
> * Add stable release 2.6.26.3:
> - usb-serial: don't release unregistered minors

The commit in question is
http://git.kernel.org/?p=linux/kernel/git/stable/linux-2.6.26.y.git;a=commit;h=bb457a9869e945299445f13bf6 18975d1562ab83

Please try to a kernel build with that fix reverted. If it fixes
the problem for you, please pass your debug data to Greg Kroah-Hartman
<gregkh@suse.de>, who's both one of the maintainers of the 2.6.26.x stable
releases and the Linux USB maintainer.

Cheers,
Moritz



--
To UNSUBSCRIBE, email to debian-kernel-REQUEST@lists.debian.org
with a subject of "unsubscribe". Trouble? Contact listmaster@lists.debian.org
 
Old 11-17-2008, 02:29 AM
Eugene Konev
 
Default Bug#498293: linux-image-2.6.26-1-686: mos7840 USB serial driver fails to work and causes kernel OOPS with 2.6.26-4

mos7840_startup tries to use serial->minor for port number calculation but it
is uninitialized yet. It happened to work for single adapter when serial->minor
was 0, but now for some reason it is not and startup breaks. The attached
patch fixes the issue, but there's still some bug in deinitialization code,
which leads to NULL pointer dereference if mos7840_startup was unsuccessful.

--- a/drivers/usb/serial/mos7840.c 2008-11-16 09:55:34.000000000 +0700
+++ b/drivers/usb/serial/mos7840.c 2008-11-16 09:56:20.000000000 +0700
@@ -2534,9 +2534,7 @@
mos7840_set_port_private(serial->port[i], mos7840_port);
spin_lock_init(&mos7840_port->pool_lock);

- mos7840_port->port_num = ((serial->port[i]->number -
- (serial->port[i]->serial->minor)) +
- 1);
+ mos7840_port->port_num = i + 1;

if (mos7840_port->port_num == 1) {
mos7840_port->SpRegOffset = 0x0;



--
To UNSUBSCRIBE, email to debian-kernel-REQUEST@lists.debian.org
with a subject of "unsubscribe". Trouble? Contact listmaster@lists.debian.org
 
Old 11-27-2008, 09:09 PM
Moritz Muehlenhoff
 
Default Bug#498293: linux-image-2.6.26-1-686: mos7840 USB serial driver fails to work and causes kernel OOPS with 2.6.26-4

On Mon, Nov 17, 2008 at 10:29:00AM +0700, Eugene Konev wrote:
> mos7840_startup tries to use serial->minor for port number calculation but it
> is uninitialized yet. It happened to work for single adapter when serial->minor
> was 0, but now for some reason it is not and startup breaks. The attached
> patch fixes the issue, but there's still some bug in deinitialization code,
> which leads to NULL pointer dereference if mos7840_startup was unsuccessful.
>
> --- a/drivers/usb/serial/mos7840.c 2008-11-16 09:55:34.000000000 +0700
> +++ b/drivers/usb/serial/mos7840.c 2008-11-16 09:56:20.000000000 +0700
> @@ -2534,9 +2534,7 @@
> mos7840_set_port_private(serial->port[i], mos7840_port);
> spin_lock_init(&mos7840_port->pool_lock);
>
> - mos7840_port->port_num = ((serial->port[i]->number -
> - (serial->port[i]->serial->minor)) +
> - 1);
> + mos7840_port->port_num = i + 1;
>
> if (mos7840_port->port_num == 1) {
> mos7840_port->SpRegOffset = 0x0;

Can you please send your patch to the kernel's USB maintainer
Greg Kroah-Hartman <gregkh@suse.de> along with a Signed-off-by:
line and keeping this bug CCed?

Cheers,
Moritz



--
To UNSUBSCRIBE, email to debian-kernel-REQUEST@lists.debian.org
with a subject of "unsubscribe". Trouble? Contact listmaster@lists.debian.org
 

Thread Tools




All times are GMT. The time now is 10:09 PM.

VBulletin, Copyright ©2000 - 2014, Jelsoft Enterprises Ltd.
Content Relevant URLs by vBSEO ©2007, Crawlability, Inc.
Copyright 2007 - 2008, www.linux-archive.org