* Jakub Wilk <jw...@debian.org>, 2014-06-18, 10:28:
apparently /lib/udev/usb_modeswitch doesn't get run at all.
Renaming the rules file as 99-usb_modeswitch.rules helped a bit (don't know why it makes a difference): now /lib/udev/usb_modeswitch is executed, but the switch still doesn't happen. I managed to collect strace output (attached). The interesting part appears to be:
599 open("/tmp/tcl.tmp.mDGyFD", O_RDWR|O_CREAT|O_EXCL, 0600) = -1 EROFS (Read-only file system) -- Jakub Wilk
592 execve("/lib/udev/usb_modeswitch.distrib", ["/lib/udev/usb_modeswitch.distrib", "1-3/1-3:1.0"], [/* 12 vars */]) = 0 592 brk(0) = 0xf921c000 592 access("/etc/ld.so.nohwcap", F_OK) = -1 ENOENT (No such file or directory) 592 mmap2(NULL, 8192, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0xf76e5000 592 access("/etc/ld.so.preload", R_OK) = -1 ENOENT (No such file or directory) 592 open("/etc/ld.so.cache", O_RDONLY|O_CLOEXEC) = 3 592 fstat64(3, {st_mode=S_IFREG|0644, st_size=93410, ...}) = 0 592 mmap2(NULL, 93410, PROT_READ, MAP_PRIVATE, 3, 0) = 0xf76ce000 592 close(3) = 0 592 access("/etc/ld.so.nohwcap", F_OK) = -1 ENOENT (No such file or directory) 592 open("/lib/i386-linux-gnu/i686/cmov/libc.so.6", O_RDONLY|O_CLOEXEC) = 3 592 read(3, "\177ELF\1\1\1\3\0\0\0\0\0\0\0\0\3\0\3\0\1\0\0\0\300\233\1\0004\0\0\0"..., 512) = 512 592 fstat64(3, {st_mode=S_IFREG|0755, st_size=1742588, ...}) = 0 592 mmap2(NULL, 1747580, PROT_READ|PROT_EXEC, MAP_PRIVATE|MAP_DENYWRITE, 3, 0) = 0xf7523000 592 mmap2(0xf76c8000, 12288, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED|MAP_DENYWRITE, 3, 0x1a5000) = 0xf76c8000 592 mmap2(0xf76cb000, 10876, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED|MAP_ANONYMOUS, -1, 0) = 0xf76cb000 592 close(3) = 0 592 mmap2(NULL, 4096, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0xf7522000 592 set_thread_area({entry_number:-1 -> 12, base_addr:0xf7522940, limit:1048575, seg_32bit:1, contents:0, read_exec_only:0, limit_in_pages:1, seg_not_present:0, useable:1}) = 0 592 mprotect(0xf76c8000, 8192, PROT_READ) = 0 592 mprotect(0xf7724000, 4096, PROT_READ) = 0 592 mprotect(0xf7707000, 4096, PROT_READ) = 0 592 munmap(0xf76ce000, 93410) = 0 592 getpid() = 592 592 rt_sigaction(SIGCHLD, {0xf77191c0, ~[RTMIN RT_1], 0}, NULL, 8) = 0 592 geteuid32() = 0 592 brk(0) = 0xf921c000 592 brk(0xf923d000) = 0xf923d000 592 getppid() = 568 592 stat64("/", {st_mode=S_IFDIR|0755, st_size=4096, ...}) = 0 592 stat64(".", {st_mode=S_IFDIR|0755, st_size=4096, ...}) = 0 592 open("/lib/udev/usb_modeswitch.distrib", O_RDONLY) = 3 592 fcntl64(3, F_DUPFD, 10) = 10 592 close(3) = 0 592 fcntl64(10, F_SETFD, FD_CLOEXEC) = 0 592 rt_sigaction(SIGINT, NULL, {SIG_DFL, [], 0}, 8) = 0 592 rt_sigaction(SIGINT, {0xf77191c0, ~[RTMIN RT_1], 0}, NULL, 8) = 0 592 rt_sigaction(SIGQUIT, NULL, {SIG_DFL, [], 0}, 8) = 0 592 rt_sigaction(SIGQUIT, {SIG_DFL, ~[RTMIN RT_1], 0}, NULL, 8) = 0 592 rt_sigaction(SIGTERM, NULL, {SIG_DFL, [], 0}, 8) = 0 592 rt_sigaction(SIGTERM, {SIG_DFL, ~[RTMIN RT_1], 0}, NULL, 8) = 0 592 read(10, "#!/bin/sh\n# part of usb_modeswit"..., 8192) = 1987 592 pipe([3, 4]) = 0 592 clone(child_stack=0, flags=CLONE_CHILD_CLEARTID|CLONE_CHILD_SETTID|SIGCHLD, child_tidptr=0xf75229a8) = 595 595 close(10 <unfinished ...> 592 close(4 <unfinished ...> 595 <... close resumed> ) = 0 592 <... close resumed> ) = 0 595 close(3 <unfinished ...> 592 read(3, <unfinished ...> 595 <... close resumed> ) = 0 595 dup2(4, 1) = 1 595 close(4) = 0 595 stat64("/usr/local/sbin/expr", 0xffc9b240) = -1 ENOENT (No such file or directory) 595 stat64("/usr/local/bin/expr", 0xffc9b240) = -1 ENOENT (No such file or directory) 595 stat64("/usr/sbin/expr", 0xffc9b240) = -1 ENOENT (No such file or directory) 595 stat64("/usr/bin/expr", {st_mode=S_IFREG|0755, st_size=38536, ...}) = 0 595 execve("/usr/bin/expr", ["expr", "1-3/1-3:1.0", ":", "--.*"], [/* 12 vars */]) = 0 595 brk(0) = 0x9816000 595 access("/etc/ld.so.nohwcap", F_OK) = -1 ENOENT (No such file or directory) 595 mmap2(NULL, 8192, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0xf7755000 595 access("/etc/ld.so.preload", R_OK) = -1 ENOENT (No such file or directory) 595 open("/etc/ld.so.cache", O_RDONLY|O_CLOEXEC) = 3 595 fstat64(3, {st_mode=S_IFREG|0644, st_size=93410, ...}) = 0 595 mmap2(NULL, 93410, PROT_READ, MAP_PRIVATE, 3, 0) = 0xf773e000 595 close(3) = 0 595 access("/etc/ld.so.nohwcap", F_OK) = -1 ENOENT (No such file or directory) 595 open("/lib/i386-linux-gnu/i686/cmov/libc.so.6", O_RDONLY|O_CLOEXEC) = 3 595 read(3, "\177ELF\1\1\1\3\0\0\0\0\0\0\0\0\3\0\3\0\1\0\0\0\300\233\1\0004\0\0\0"..., 512) = 512 595 fstat64(3, {st_mode=S_IFREG|0755, st_size=1742588, ...}) = 0 595 mmap2(NULL, 1747580, PROT_READ|PROT_EXEC, MAP_PRIVATE|MAP_DENYWRITE, 3, 0) = 0xf7593000 595 mmap2(0xf7738000, 12288, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED|MAP_DENYWRITE, 3, 0x1a5000) = 0xf7738000 595 mmap2(0xf773b000, 10876, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED|MAP_ANONYMOUS, -1, 0) = 0xf773b000 595 close(3) = 0 595 mmap2(NULL, 4096, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0xf7592000 595 set_thread_area({entry_number:-1 -> 12, base_addr:0xf7592940, limit:1048575, seg_32bit:1, contents:0, read_exec_only:0, limit_in_pages:1, seg_not_present:0, useable:1}) = 0 595 mprotect(0xf7738000, 8192, PROT_READ) = 0 595 mprotect(0x8051000, 4096, PROT_READ) = 0 595 mprotect(0xf7777000, 4096, PROT_READ) = 0 595 munmap(0xf773e000, 93410) = 0 595 brk(0) = 0x9816000 595 brk(0x9837000) = 0x9837000 595 fstat64(1, {st_mode=S_IFIFO|0600, st_size=0, ...}) = 0 595 mmap2(NULL, 4096, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0xf7754000 595 write(1, "0\n", 2) = 2 592 <... read resumed> "0\n", 128) = 2 595 close(1 <unfinished ...> 592 read(3, <unfinished ...> 595 <... close resumed> ) = 0 592 <... read resumed> "", 128) = 0 595 munmap(0xf7754000, 4096 <unfinished ...> 592 close(3 <unfinished ...> 595 <... munmap resumed> ) = 0 592 <... close resumed> ) = 0 595 close(2 <unfinished ...> 592 wait4(-1, <unfinished ...> 595 <... close resumed> ) = 0 595 exit_group(1) = ? 595 +++ exited with 1 +++ 592 <... wait4 resumed> [{WIFEXITED(s) && WEXITSTATUS(s) == 1}], 0, NULL) = 595 592 --- SIGCHLD {si_signo=SIGCHLD, si_code=CLD_EXITED, si_pid=595, si_status=1, si_utime=0, si_stime=0} --- 592 sigreturn() (mask []) = 595 592 pipe([3, 4]) = 0 592 clone(child_stack=0, flags=CLONE_CHILD_CLEARTID|CLONE_CHILD_SETTID|SIGCHLD, child_tidptr=0xf75229a8) = 596 592 close(4 <unfinished ...> 596 close(10 <unfinished ...> 592 <... close resumed> ) = 0 596 <... close resumed> ) = 0 592 read(3, <unfinished ...> 596 close(3) = 0 596 dup2(4, 1) = 1 596 close(4) = 0 596 write(1, "0000", 4) = 4 592 <... read resumed> "0000", 128) = 4 596 exit_group(0) = ? 592 read(3, <unfinished ...> 596 +++ exited with 0 +++ 592 <... read resumed> "", 128) = 0 592 --- SIGCHLD {si_signo=SIGCHLD, si_code=CLD_EXITED, si_pid=596, si_status=0, si_utime=0, si_stime=0} --- 592 sigreturn() (mask []) = 0 592 close(3) = 0 592 wait4(-1, [{WIFEXITED(s) && WEXITSTATUS(s) == 0}], 0, NULL) = 596 592 pipe([3, 4]) = 0 592 clone(child_stack=0, flags=CLONE_CHILD_CLEARTID|CLONE_CHILD_SETTID|SIGCHLD, child_tidptr=0xf75229a8) = 597 597 close(10 <unfinished ...> 592 close(4 <unfinished ...> 597 <... close resumed> ) = 0 592 <... close resumed> ) = 0 597 close(3 <unfinished ...> 592 read(3, <unfinished ...> 597 <... close resumed> ) = 0 597 dup2(4, 1) = 1 597 close(4) = 0 597 write(1, "0000", 4) = 4 592 <... read resumed> "0000", 128) = 4 597 exit_group(0) = ? 592 read(3, <unfinished ...> 597 +++ exited with 0 +++ 592 <... read resumed> "", 128) = 0 592 --- SIGCHLD {si_signo=SIGCHLD, si_code=CLD_EXITED, si_pid=597, si_status=0, si_utime=0, si_stime=0} --- 592 sigreturn() (mask []) = 0 592 close(3) = 0 592 wait4(-1, [{WIFEXITED(s) && WEXITSTATUS(s) == 0}], 0, NULL) = 597 592 fcntl64(1, F_DUPFD, 10) = 11 592 close(1) = 0 592 fcntl64(11, F_SETFD, FD_CLOEXEC) = 0 592 fcntl64(2, F_DUPFD, 10) = 12 592 close(2) = 0 592 fcntl64(12, F_SETFD, FD_CLOEXEC) = 0 592 fcntl64(5, F_DUPFD, 10) = -1 EBADF (Bad file descriptor) 592 fcntl64(7, F_DUPFD, 10) = -1 EBADF (Bad file descriptor) 592 close(11) = 0 592 close(12) = 0 592 clone(child_stack=0, flags=CLONE_CHILD_CLEARTID|CLONE_CHILD_SETTID|SIGCHLD, child_tidptr=0xf75229a8) = 598 598 close(10 <unfinished ...> 592 exit_group(0) = ? 598 <... close resumed> ) = 0 598 rt_sigaction(SIGINT, {SIG_IGN, [INT], SA_RESTART}, {0xf77191c0, ~[KILL STOP RTMIN RT_1], 0}, 8) = 0 592 +++ exited with 0 +++ 598 rt_sigaction(SIGQUIT, {SIG_IGN, [QUIT], SA_RESTART}, {SIG_DFL, ~[KILL STOP RTMIN RT_1], 0}, 8) = 0 598 close(0) = 0 598 open("/dev/null", O_RDONLY) = 0 598 open("/lib/udev/hotplug.functions", O_RDONLY) = 1 598 fcntl64(1, F_DUPFD, 10) = 10 598 close(1) = 0 598 fcntl64(10, F_SETFD, FD_CLOEXEC) = 0 598 read(10, "# Setup and shell utility functi"..., 8192) = 1175 598 stat64("/etc/default/hotplug", 0xffc9af60) = -1 ENOENT (No such file or directory) 598 geteuid32() = 0 598 stat64("/usr/bin/logger", {st_mode=S_IFREG|0755, st_size=18256, ...}) = 0 598 faccessat(AT_FDCWD, "/usr/bin/logger", X_OK) = 0 598 ioctl(1, SNDCTL_TMR_TIMEBASE or SNDRV_TIMER_IOCTL_NEXT_DEVICE or TCGETS, 0xffc9ae28) = -1 EBADF (Bad file descriptor) 598 stat64("/dev/log", 0xffc9ae40) = -1 ENOENT (No such file or directory) 598 read(10, "", 8192) = 0 598 close(10) = 0 598 stat64("/usr/sbin/usb_modeswitch_dispatcher", {st_mode=S_IFREG|0755, st_size=34164, ...}) = 0 598 geteuid32() = 0 598 stat64("/sbin/initctl", 0xffc9b100) = -1 ENOENT (No such file or directory) 598 stat64("/run/systemd/system/", 0xffc9b1e0) = -1 ENOENT (No such file or directory) 598 clone(child_stack=0, flags=CLONE_CHILD_CLEARTID|CLONE_CHILD_SETTID|SIGCHLD, child_tidptr=0xf75229a8) = 599 599 close(0 <unfinished ...> 598 exit_group(0) = ? 599 <... close resumed> ) = 0 599 open("/dev/null", O_RDONLY) = 0 598 +++ exited with 0 +++ 599 execve("/usr/sbin/usb_modeswitch_dispatcher", ["/usr/sbin/usb_modeswitch_dispatc"..., "--switch-mode", "1-3/1-3:1.0"], [/* 12 vars */]) = 0 599 brk(0) = 0x9eb5000 599 access("/etc/ld.so.nohwcap", F_OK) = -1 ENOENT (No such file or directory) 599 mmap2(NULL, 8192, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0xf7752000 599 access("/etc/ld.so.preload", R_OK) = -1 ENOENT (No such file or directory) 599 open("/etc/ld.so.cache", O_RDONLY|O_CLOEXEC) = 1 599 fstat64(1, {st_mode=S_IFREG|0644, st_size=93410, ...}) = 0 599 mmap2(NULL, 93410, PROT_READ, MAP_PRIVATE, 1, 0) = 0xf773b000 599 close(1) = 0 599 access("/etc/ld.so.nohwcap", F_OK) = -1 ENOENT (No such file or directory) 599 open("/usr/lib/i386-linux-gnu/libjim.so.0.74", O_RDONLY|O_CLOEXEC) = 1 599 read(1, "\177ELF\1\1\1\0\0\0\0\0\0\0\0\0\3\0\3\0\1\0\0\0\360m\0\0004\0\0\0"..., 512) = 512 599 fstat64(1, {st_mode=S_IFREG|0644, st_size=305720, ...}) = 0 599 mmap2(NULL, 309044, PROT_READ|PROT_EXEC, MAP_PRIVATE|MAP_DENYWRITE, 1, 0) = 0xf76ef000 599 mmap2(0xf7738000, 12288, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED|MAP_DENYWRITE, 1, 0x48000) = 0xf7738000 599 close(1) = 0 599 access("/etc/ld.so.nohwcap", F_OK) = -1 ENOENT (No such file or directory) 599 open("/lib/i386-linux-gnu/i686/cmov/libc.so.6", O_RDONLY|O_CLOEXEC) = 1 599 read(1, "\177ELF\1\1\1\3\0\0\0\0\0\0\0\0\3\0\3\0\1\0\0\0\300\233\1\0004\0\0\0"..., 512) = 512 599 fstat64(1, {st_mode=S_IFREG|0755, st_size=1742588, ...}) = 0 599 mmap2(NULL, 1747580, PROT_READ|PROT_EXEC, MAP_PRIVATE|MAP_DENYWRITE, 1, 0) = 0xf7544000 599 mmap2(0xf76e9000, 12288, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED|MAP_DENYWRITE, 1, 0x1a5000) = 0xf76e9000 599 mmap2(0xf76ec000, 10876, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED|MAP_ANONYMOUS, -1, 0) = 0xf76ec000 599 close(1) = 0 599 access("/etc/ld.so.nohwcap", F_OK) = -1 ENOENT (No such file or directory) 599 open("/lib/i386-linux-gnu/i686/cmov/libdl.so.2", O_RDONLY|O_CLOEXEC) = 1 599 read(1, "\177ELF\1\1\1\0\0\0\0\0\0\0\0\0\3\0\3\0\1\0\0\0\320\n\0\0004\0\0\0"..., 512) = 512 599 fstat64(1, {st_mode=S_IFREG|0644, st_size=13856, ...}) = 0 599 mmap2(NULL, 4096, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0xf7543000 599 mmap2(NULL, 16512, PROT_READ|PROT_EXEC, MAP_PRIVATE|MAP_DENYWRITE, 1, 0) = 0xf753e000 599 mmap2(0xf7541000, 8192, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED|MAP_DENYWRITE, 1, 0x2000) = 0xf7541000 599 close(1) = 0 599 mmap2(NULL, 4096, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0xf753d000 599 set_thread_area({entry_number:-1 -> 12, base_addr:0xf753d700, limit:1048575, seg_32bit:1, contents:0, read_exec_only:0, limit_in_pages:1, seg_not_present:0, useable:1}) = 0 599 mprotect(0xf76e9000, 8192, PROT_READ) = 0 599 mprotect(0xf7541000, 4096, PROT_READ) = 0 599 mprotect(0xf7738000, 8192, PROT_READ) = 0 599 mprotect(0x8050000, 4096, PROT_READ) = 0 599 mprotect(0xf7774000, 4096, PROT_READ) = 0 599 munmap(0xf773b000, 93410) = 0 599 brk(0) = 0x9eb5000 599 brk(0x9ed6000) = 0x9ed6000 599 time(NULL) = 1403131378 599 fcntl64(0, F_GETFL) = 0 (flags O_RDONLY) 599 fcntl64(1, F_GETFL) = -1 EBADF (Bad file descriptor) 599 fcntl64(2, F_GETFL) = -1 EBADF (Bad file descriptor) 599 brk(0x9ef7000) = 0x9ef7000 599 access("/etc/usb_modeswitch.conf", F_OK) = 0 599 open("/etc/usb_modeswitch.conf", O_RDONLY|O_LARGEFILE) = 1 599 fcntl64(1, F_SETFD, FD_CLOEXEC) = 0 599 fcntl64(1, F_GETFL) = 0x8000 (flags O_RDONLY|O_LARGEFILE) 599 fstat64(1, {st_mode=S_IFREG|0644, st_size=888, ...}) = 0 599 mmap2(NULL, 4096, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0xf7751000 599 read(1, "# Configuration for the usb_mode"..., 4096) = 888 599 read(1, "", 4096) = 0 599 access("/usr/share/usb_modeswitch", F_OK) = 0 599 stat64("/sys/bus/usb/devices/1-3", {st_mode=S_IFDIR|0755, st_size=0, ...}) = 0 599 stat64("/", {st_mode=S_IFDIR|0755, st_size=4096, ...}) = 0 599 openat(AT_FDCWD, "/", O_RDONLY|O_NONBLOCK|O_LARGEFILE|O_DIRECTORY|O_CLOEXEC) = 2 599 brk(0x9f19000) = 0x9f19000 599 getdents(2, /* 21 entries */, 32768) = 352 599 getdents(2, /* 0 entries */, 32768) = 0 599 close(2) = 0 599 stat64("/sys", {st_mode=S_IFDIR|0555, st_size=0, ...}) = 0 599 openat(AT_FDCWD, "/sys", O_RDONLY|O_NONBLOCK|O_LARGEFILE|O_DIRECTORY|O_CLOEXEC) = 2 599 getdents(2, /* 13 entries */, 32768) = 244 599 getdents(2, /* 0 entries */, 32768) = 0 599 close(2) = 0 599 stat64("/sys/bus", {st_mode=S_IFDIR|0755, st_size=0, ...}) = 0 599 openat(AT_FDCWD, "/sys/bus", O_RDONLY|O_NONBLOCK|O_LARGEFILE|O_DIRECTORY|O_CLOEXEC) = 2 599 getdents(2, /* 24 entries */, 32768) = 460 599 getdents(2, /* 0 entries */, 32768) = 0 599 close(2) = 0 599 stat64("/sys/bus/usb", {st_mode=S_IFDIR|0755, st_size=0, ...}) = 0 599 openat(AT_FDCWD, "/sys/bus/usb", O_RDONLY|O_NONBLOCK|O_LARGEFILE|O_DIRECTORY|O_CLOEXEC) = 2 599 getdents(2, /* 7 entries */, 32768) = 152 599 getdents(2, /* 0 entries */, 32768) = 0 599 close(2) = 0 599 stat64("/sys/bus/usb/devices", {st_mode=S_IFDIR|0755, st_size=0, ...}) = 0 599 openat(AT_FDCWD, "/sys/bus/usb/devices", O_RDONLY|O_NONBLOCK|O_LARGEFILE|O_DIRECTORY|O_CLOEXEC) = 2 599 getdents(2, /* 9 entries */, 32768) = 160 599 getdents(2, /* 0 entries */, 32768) = 0 599 close(2) = 0 599 stat64("/sys/bus/usb/devices/1-3", {st_mode=S_IFDIR|0755, st_size=0, ...}) = 0 599 openat(AT_FDCWD, "/sys/bus/usb/devices/1-3", O_RDONLY|O_NONBLOCK|O_LARGEFILE|O_DIRECTORY|O_CLOEXEC) = 2 599 getdents(2, /* 40 entries */, 32768) = 904 599 getdents(2, /* 0 entries */, 32768) = 0 599 close(2) = 0 599 stat64("/", {st_mode=S_IFDIR|0755, st_size=4096, ...}) = 0 599 openat(AT_FDCWD, "/", O_RDONLY|O_NONBLOCK|O_LARGEFILE|O_DIRECTORY|O_CLOEXEC) = 2 599 getdents(2, /* 21 entries */, 32768) = 352 599 getdents(2, /* 0 entries */, 32768) = 0 599 close(2) = 0 599 stat64("/sys", {st_mode=S_IFDIR|0555, st_size=0, ...}) = 0 599 openat(AT_FDCWD, "/sys", O_RDONLY|O_NONBLOCK|O_LARGEFILE|O_DIRECTORY|O_CLOEXEC) = 2 599 getdents(2, /* 13 entries */, 32768) = 244 599 getdents(2, /* 0 entries */, 32768) = 0 599 close(2) = 0 599 stat64("/sys/bus", {st_mode=S_IFDIR|0755, st_size=0, ...}) = 0 599 openat(AT_FDCWD, "/sys/bus", O_RDONLY|O_NONBLOCK|O_LARGEFILE|O_DIRECTORY|O_CLOEXEC) = 2 599 getdents(2, /* 24 entries */, 32768) = 460 599 getdents(2, /* 0 entries */, 32768) = 0 599 close(2) = 0 599 stat64("/sys/bus/usb", {st_mode=S_IFDIR|0755, st_size=0, ...}) = 0 599 openat(AT_FDCWD, "/sys/bus/usb", O_RDONLY|O_NONBLOCK|O_LARGEFILE|O_DIRECTORY|O_CLOEXEC) = 2 599 getdents(2, /* 7 entries */, 32768) = 152 599 getdents(2, /* 0 entries */, 32768) = 0 599 close(2) = 0 599 stat64("/sys/bus/usb/devices", {st_mode=S_IFDIR|0755, st_size=0, ...}) = 0 599 openat(AT_FDCWD, "/sys/bus/usb/devices", O_RDONLY|O_NONBLOCK|O_LARGEFILE|O_DIRECTORY|O_CLOEXEC) = 2 599 getdents(2, /* 9 entries */, 32768) = 160 599 getdents(2, /* 0 entries */, 32768) = 0 599 close(2) = 0 599 stat64("/sys/bus/usb/devices/1-3", {st_mode=S_IFDIR|0755, st_size=0, ...}) = 0 599 openat(AT_FDCWD, "/sys/bus/usb/devices/1-3", O_RDONLY|O_NONBLOCK|O_LARGEFILE|O_DIRECTORY|O_CLOEXEC) = 2 599 getdents(2, /* 40 entries */, 32768) = 904 599 getdents(2, /* 0 entries */, 32768) = 0 599 close(2) = 0 599 stat64("/sys/bus/usb/devices/1-3/1-3:1.0", {st_mode=S_IFDIR|0755, st_size=0, ...}) = 0 599 access("/sys/bus/usb/devices/1-3/idVendor", F_OK) = 0 599 open("/sys/bus/usb/devices/1-3/idVendor", O_RDONLY|O_LARGEFILE) = 2 599 fcntl64(2, F_SETFD, FD_CLOEXEC) = 0 599 fcntl64(2, F_GETFL) = 0x8000 (flags O_RDONLY|O_LARGEFILE) 599 fstat64(2, {st_mode=S_IFREG|0444, st_size=4096, ...}) = 0 599 mmap2(NULL, 4096, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0xf7750000 599 read(2, "12d1\n", 4096) = 5 599 read(2, "", 4096) = 0 599 close(2) = 0 599 munmap(0xf7750000, 4096) = 0 599 access("/sys/bus/usb/devices/1-3/idProduct", F_OK) = 0 599 open("/sys/bus/usb/devices/1-3/idProduct", O_RDONLY|O_LARGEFILE) = 2 599 fcntl64(2, F_SETFD, FD_CLOEXEC) = 0 599 fcntl64(2, F_GETFL) = 0x8000 (flags O_RDONLY|O_LARGEFILE) 599 fstat64(2, {st_mode=S_IFREG|0444, st_size=4096, ...}) = 0 599 mmap2(NULL, 4096, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0xf7750000 599 read(2, "14fe\n", 4096) = 5 599 read(2, "", 4096) = 0 599 close(2) = 0 599 munmap(0xf7750000, 4096) = 0 599 access("/sys/bus/usb/devices/1-3/bConfigurationValue", F_OK) = 0 599 open("/sys/bus/usb/devices/1-3/bConfigurationValue", O_RDONLY|O_LARGEFILE) = 2 599 fcntl64(2, F_SETFD, FD_CLOEXEC) = 0 599 fcntl64(2, F_GETFL) = 0x8000 (flags O_RDONLY|O_LARGEFILE) 599 fstat64(2, {st_mode=S_IFREG|0644, st_size=4096, ...}) = 0 599 mmap2(NULL, 4096, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0xf7750000 599 read(2, "1\n", 4096) = 2 599 read(2, "", 4096) = 0 599 close(2) = 0 599 munmap(0xf7750000, 4096) = 0 599 access("/sys/bus/usb/devices/1-3/manufacturer", F_OK) = 0 599 open("/sys/bus/usb/devices/1-3/manufacturer", O_RDONLY|O_LARGEFILE) = 2 599 fcntl64(2, F_SETFD, FD_CLOEXEC) = 0 599 fcntl64(2, F_GETFL) = 0x8000 (flags O_RDONLY|O_LARGEFILE) 599 fstat64(2, {st_mode=S_IFREG|0444, st_size=4096, ...}) = 0 599 mmap2(NULL, 4096, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0xf7750000 599 read(2, "HUAWEI\n", 4096) = 7 599 read(2, "", 4096) = 0 599 close(2) = 0 599 munmap(0xf7750000, 4096) = 0 599 access("/sys/bus/usb/devices/1-3/product", F_OK) = 0 599 open("/sys/bus/usb/devices/1-3/product", O_RDONLY|O_LARGEFILE) = 2 599 fcntl64(2, F_SETFD, FD_CLOEXEC) = 0 599 fcntl64(2, F_GETFL) = 0x8000 (flags O_RDONLY|O_LARGEFILE) 599 fstat64(2, {st_mode=S_IFREG|0444, st_size=4096, ...}) = 0 599 mmap2(NULL, 4096, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0xf7750000 599 read(2, "HUAWEI Mobile\n", 4096) = 14 599 read(2, "", 4096) = 0 599 close(2) = 0 599 munmap(0xf7750000, 4096) = 0 599 access("/sys/bus/usb/devices/1-3/serial", F_OK) = -1 ENOENT (No such file or directory) 599 access("/sys/bus/usb/devices/1-3/devnum", F_OK) = 0 599 open("/sys/bus/usb/devices/1-3/devnum", O_RDONLY|O_LARGEFILE) = 2 599 fcntl64(2, F_SETFD, FD_CLOEXEC) = 0 599 fcntl64(2, F_GETFL) = 0x8000 (flags O_RDONLY|O_LARGEFILE) 599 fstat64(2, {st_mode=S_IFREG|0444, st_size=4096, ...}) = 0 599 mmap2(NULL, 4096, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0xf7750000 599 read(2, "2\n", 4096) = 2 599 read(2, "", 4096) = 0 599 close(2) = 0 599 munmap(0xf7750000, 4096) = 0 599 access("/sys/bus/usb/devices/1-3/busnum", F_OK) = 0 599 open("/sys/bus/usb/devices/1-3/busnum", O_RDONLY|O_LARGEFILE) = 2 599 fcntl64(2, F_SETFD, FD_CLOEXEC) = 0 599 fcntl64(2, F_GETFL) = 0x8000 (flags O_RDONLY|O_LARGEFILE) 599 fstat64(2, {st_mode=S_IFREG|0444, st_size=4096, ...}) = 0 599 mmap2(NULL, 4096, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0xf7750000 599 read(2, "1\n", 4096) = 2 599 read(2, "", 4096) = 0 599 close(2) = 0 599 munmap(0xf7750000, 4096) = 0 599 access("/sys/bus/usb/devices/1-3/bNumConfigurations", F_OK) = 0 599 open("/sys/bus/usb/devices/1-3/bNumConfigurations", O_RDONLY|O_LARGEFILE) = 2 599 fcntl64(2, F_SETFD, FD_CLOEXEC) = 0 599 fcntl64(2, F_GETFL) = 0x8000 (flags O_RDONLY|O_LARGEFILE) 599 fstat64(2, {st_mode=S_IFREG|0444, st_size=4096, ...}) = 0 599 mmap2(NULL, 4096, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0xf7750000 599 read(2, "1\n", 4096) = 2 599 read(2, "", 4096) = 0 599 close(2) = 0 599 munmap(0xf7750000, 4096) = 0 599 pipe([2, 3]) = 0 599 gettimeofday({1403131378, 72534}, NULL) = 0 599 getpid() = 599 599 open("/tmp/tcl.tmp.mDGyFD", O_RDWR|O_CREAT|O_EXCL, 0600) = -1 EROFS (Read-only file system) 599 close(2) = 0 599 close(3) = 0 599 close(1) = 0 599 munmap(0xf7751000, 4096) = 0 599 exit_group(0) = ? 599 +++ exited with 0 +++