LINUX.ORG.RU
ФорумMobile

Huawey y220. Проблема с USB Host Mode

 , , ,


0

1

Здравстуйте комрады! Я сижу в лагере строгого режима, и единственный доступный мне девайс - чудесный китайский смарт от Huawei, в котором (как заявляют производители) есть аппаратная поддержка USB host, но отсутствует программная.

У меня имеется потребность поднять из мертвых Sony XPeria pro, у которого после неудачной прошивки слетел recovery. Я вижу 2 пути решения проблемы:

1. Прошить свою трубу кастомом поддерживающим host mode.

2. Запустить из chroot окружения GNU/Linux, настроить железо и прошить Соньку любым доступным флешером.

Т.к. кастомов на свой аппарат я не нашел, а собирать ядро для кастома все равно нужно в Linux, то я пошел по второму пути Создал chroot в приложении Linux Deploy. Установил Ubuntu trusty и запустил - все встало как надо, флешка смонтировалась, доступ к консоли по SSH, а к GUI по VNC получен. Не буду описывать все свои мучения чтобы заработала комманда add-apt-repository - пол дня на это убил, но с задачей справился самостоятельно.

Далее отказалась работать комманда lsusb. После установки пакета usbitils на запрос

lsusb

система стала отвечать

«unable to initialize libusb: -99»

На запрос

cat /proc/devices

система виводит список, в котором кроме прочих есть строки

180 usb

189 usb_device

директория /proc/bus/usb/ пустая, а вот /dev/bus/ нет вобще. Версия ядра 3.4.5

Подскажите, как мне решить проблему usb host на моем телефоне?

лог трассировки lsusb

root@localhost:/home/user# strace lsusb execve(«/usr/bin/lsusb», [«lsusb»], [/* 19 vars */]) = 0 brk(0) = 0x25000 uname({sys=«Linux», node=«localhost», ...}) = access(«/etc/ld.so.nohwcap», F_OK) = -1 ENOENT (No such file or directory) mmap2(NULL, 8192, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0x400fb000 access(«/etc/ld.so.preload», R_OK) = -1 ENOENT (No such file or directory) open(«/etc/ld.so.cache», O_RDONLY|O_CLOEXEC) = 3 fstat64(3, {st_mode=S_IFREG|0644, st_size=29912, ...}) = 0 mmap2(NULL, 29912, PROT_READ, MAP_PRIVATE, 3, 0) = 0x40105000 close(3) = 0 access(«/etc/ld.so.nohwcap», F_OK) = -1 ENOENT (No such file or directory) open(«/lib/arm-linux-gnueabihf/libusb-1.0.so.0», O_RDONLY|O_CLOEXEC) = 3 read(3, «\177ELF\1\1\1\0\0\0\0\0\0\0\0\0\3\0(\0\1\0\0\0008)\0\0004\0\0\0»..., 512) = 512 lseek(3, 58112, SEEK_SET) = 58112 read(3, «\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0»..., 1040) = 1040 lseek(3, 57800, SEEK_SET) = 57800 read(3, «A2\0\0\0aeabi\0\1(\0\0\0\0057-A\0\6\n\7A\10\1\t\2\n\4\22»..., 51) = 51 fstat64(3, {st_mode=S_IFREG|0644, st_size=59152, ...}) = 0 mmap2(NULL, 90724, PROT_READ|PROT_EXEC, MAP_PRIVATE|MAP_DENYWRITE, 3, 0) = 0x4010d000 mprotect(0x4011b000, 28672, PROT_NONE) = 0 mmap2(0x40122000, 8192, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED|MAP_DENYWRITE, 3, 0xd000) = 0x40122000 close(3) = 0 access(«/etc/ld.so.nohwcap», F_OK) = -1 ENOENT (No such file or directory) open(«/lib/arm-linux-gnueabihf/libz.so.1», O_RDONLY|O_CLOEXEC) = 3 read(3, «\177ELF\1\1\1\0\0\0\0\0\0\0\0\0\3\0(\0\1\0\0\0X\26\0\0004\0\0\0»..., 512) = 512 lseek(3, 74280, SEEK_SET) = 74280 read(3, «\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0»..., 1120) = 1120 lseek(3, 73912, SEEK_SET) = 73912 read(3, «A2\0\0\0aeabi\0\1(\0\0\0\0057-A\0\6\n\7A\10\1\t\2\n\4\22»..., 51) = 51 fstat64(3, {st_mode=S_IFREG|0644, st_size=75400, ...}) = 0 mmap2(NULL, 4096, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0x400fd000 mmap2(NULL, 106684, PROT_READ|PROT_EXEC, MAP_PRIVATE|MAP_DENYWRITE, 3, 0) = 0x40124000 mprotect(0x40135000, 32768, PROT_NONE) = 0 mmap2(0x4013d000, 8192, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED|MAP_DENYWRITE, 3, 0x11000) = 0x4013d000 close(3) = 0 access(«/etc/ld.so.nohwcap», F_OK) = -1 ENOENT (No such file or directory) open(«/lib/arm-linux-gnueabihf/libc.so.6», O_RDONLY|O_CLOEXEC) = 3 read(3, «\177ELF\1\1\1\0\0\0\0\0\0\0\0\0\3\0(\0\1\0\0\0Mw\1\0004\0\0\0»..., 512) = 512 lseek(3, 904100, SEEK_SET) = 904100 read(3, «\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0»..., 2880) = 2880 lseek(3, 900652, SEEK_SET) = 900652 read(3, «A4\0\0\0aeabi\0\1*\0\0\0\0057-A\0\6\n\7A\10\1\t\2\n\3\f»..., 53) = 53 fstat64(3, {st_mode=S_IFREG|0755, st_size=906980, ...}) = 0 mmap2(NULL, 943544, PROT_READ|PROT_EXEC, MAP_PRIVATE|MAP_DENYWRITE, 3, 0) = 0x4013f000 mprotect(0x40219000, 28672, PROT_NONE) = 0 mmap2(0x40220000, 12288, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED|MAP_DENYWRITE, 3, 0xd9000) = 0x40220000 mmap2(0x40223000, 9656, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED|MAP_ANONYMOUS, -1, 0) = 0x40223000 close(3) = 0 access(«/etc/ld.so.nohwcap», F_OK) = -1 ENOENT (No such file or directory) open(«/lib/arm-linux-gnueabihf/libudev.so.1», O_RDONLY|O_CLOEXEC) = 3 read(3, «\177ELF\1\1\1\0\0\0\0\0\0\0\0\0\3\0(\0\1\0\0\0@$\0\0004\0\0\0»..., 512) = 512 lseek(3, 45452, SEEK_SET) = 45452 read(3, «\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0»..., 1120) = 1120 lseek(3, 45084, SEEK_SET) = 45084 read(3, «A2\0\0\0aeabi\0\1(\0\0\0\0057-A\0\6\n\7A\10\1\t\2\n\4\22»..., 51) = 51 fstat64(3, {st_mode=S_IFREG|0644, st_size=46572, ...}) = 0 mmap2(NULL, 79928, PROT_READ|PROT_EXEC, MAP_PRIVATE|MAP_DENYWRITE, 3, 0) = 0x40226000 mprotect(0x40231000, 28672, PROT_NONE) = 0 mmap2(0x40238000, 8192, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED|MAP_DENYWRITE, 3, 0xa000) = 0x40238000 close(3) = 0 access(«/etc/ld.so.nohwcap», F_OK) = -1 ENOENT (No such file or directory) open(«/lib/arm-linux-gnueabihf/libpthread.so.0», O_RDONLY|O_CLOEXEC) = 3 read(3, «\177ELF\1\1\1\0\0\0\0\0\0\0\0\0\3\0(\0\1\0\0\0001Q\0\0004\0\0\0»..., 512) = 512 lseek(3, 66680, SEEK_SET) = 66680 read(3, «\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0»..., 1520) = 1520 lseek(3, 65940, SEEK_SET) = 65940 read(3, «A4\0\0\0aeabi\0\1*\0\0\0\0057-A\0\6\n\7A\10\1\t\2\n\4\22»..., 53) = 53 fstat64(3, {st_mode=S_IFREG|0755, st_size=102203, ...}) = 0 mmap2(NULL, 107068, PROT_READ|PROT_EXEC, MAP_PRIVATE|MAP_DENYWRITE, 3, 0) = 0x4023a000 mprotect(0x4024a000, 28672, PROT_NONE) = 0 mmap2(0x40251000, 8192, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED|MAP_DENYWRITE, 3, 0xf000) = 0x40251000 mmap2(0x40253000, 4668, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED|MAP_ANONYMOUS, -1, 0) = 0x40253000 close(3) = 0

ivantsarevich ()
Ответ на: лог трассировки lsusb от ivantsarevich

продолжение лога

access(«/etc/ld.so.nohwcap», F_OK) = -1 ENOENT (No such file or directory) open(«/lib/arm-linux-gnueabihf/libcgmanager.so.0», O_RDONLY|O_CLOEXEC) = 3 read(3, «\177ELF\1\1\1\0\0\0\0\0\0\0\0\0\3\0(\0\1\0\0\0\10\37\0\0004\0\0\0»..., 512) = 512 lseek(3, 78176, SEEK_SET) = 78176 read(3, «\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0»..., 1040) = 1040 lseek(3, 77836, SEEK_SET) = 77836 read(3, «A2\0\0\0aeabi\0\1(\0\0\0\0057-A\0\6\n\7A\10\1\t\2\n\4\22»..., 51) = 51 fstat64(3, {st_mode=S_IFREG|0644, st_size=79216, ...}) = 0 mmap2(NULL, 110608, PROT_READ|PROT_EXEC, MAP_PRIVATE|MAP_DENYWRITE, 3, 0) = 0x40255000 mprotect(0x40267000, 32768, PROT_NONE) = 0 mmap2(0x4026f000, 8192, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED|MAP_DENYWRITE, 3, 0x12000) = 0x4026f000 close(3) = 0 access(«/etc/ld.so.nohwcap», F_OK) = -1 ENOENT (No such file or directory) open(«/lib/arm-linux-gnueabihf/libnih.so.1», O_RDONLY|O_CLOEXEC) = 3 read(3, «\177ELF\1\1\1\0\0\0\0\0\0\0\0\0\3\0(\0\1\0\0\0\3503\0\0004\0\0\0»..., 512) = 512 lseek(3, 65916, SEEK_SET) = 65916 read(3, «\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0»..., 1080) = 1080 lseek(3, 65560, SEEK_SET) = 65560 read(3, «A4\0\0\0aeabi\0\1*\0\0\0\0057-A\0\6\n\7A\10\1\t\2\n\4\22»..., 53) = 53 fstat64(3, {st_mode=S_IFREG|0644, st_size=66996, ...}) = 0 mmap2(NULL, 4096, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0x400fe000 mmap2(NULL, 98552, PROT_READ|PROT_EXEC, MAP_PRIVATE|MAP_DENYWRITE, 3, 0) = 0x40271000 mprotect(0x40281000, 28672, PROT_NONE) = 0 mmap2(0x40288000, 8192, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED|MAP_DENYWRITE, 3, 0xf000) = 0x40288000 close(3) = 0 access(«/etc/ld.so.nohwcap», F_OK) = -1 ENOENT (No such file or directory) open(«/lib/arm-linux-gnueabihf/libnih-dbus.so.1», O_RDONLY|O_CLOEXEC) = 3 read(3, «\177ELF\1\1\1\0\0\0\0\0\0\0\0\0\3\0(\0\1\0\0\0\364\36\0\0004\0\0\0»..., 512) = 512 lseek(3, 29044, SEEK_SET) = 29044 read(3, «\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0»..., 1080) = 1080 lseek(3, 28688, SEEK_SET) = 28688 read(3, «A2\0\0\0aeabi\0\1(\0\0\0\0057-A\0\6\n\7A\10\1\t\2\n\4\22»..., 51) = 51 fstat64(3, {st_mode=S_IFREG|0644, st_size=30124, ...}) = 0 mmap2(NULL, 61460, PROT_READ|PROT_EXEC, MAP_PRIVATE|MAP_DENYWRITE, 3, 0) = 0x4028a000 mprotect(0x40290000, 32768, PROT_NONE) = 0 mmap2(0x40298000, 8192, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED|MAP_DENYWRITE, 3, 0x6000) = 0x40298000 close(3) = 0 access(«/etc/ld.so.nohwcap», F_OK) = -1 ENOENT (No such file or directory) open(«/lib/arm-linux-gnueabihf/libdbus-1.so.3», O_RDONLY|O_CLOEXEC) = 3 read(3, «\177ELF\1\1\1\0\0\0\0\0\0\0\0\0\3\0(\0\1\0\0\0\260N\0\0004\0\0\0»..., 512) = 512 lseek(3, 164880, SEEK_SET) = 164880 read(3, «\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0»..., 1040) = 1040 lseek(3, 164540, SEEK_SET) = 164540 read(3, «A2\0\0\0aeabi\0\1(\0\0\0\0057-A\0\6\n\7A\10\1\t\2\n\4\22»..., 51) = 51 fstat64(3, {st_mode=S_IFREG|0644, st_size=165920, ...}) = 0 mmap2(NULL, 197632, PROT_READ|PROT_EXEC, MAP_PRIVATE|MAP_DENYWRITE, 3, 0) = 0x4029a000 mprotect(0x402c2000, 28672, PROT_NONE) = 0 mmap2(0x402c9000, 8192, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED|MAP_DENYWRITE, 3, 0x27000) = 0x402c9000 close(3) = 0 access(«/etc/ld.so.nohwcap», F_OK) = -1 ENOENT (No such file or directory) open(«/lib/arm-linux-gnueabihf/librt.so.1», O_RDONLY|O_CLOEXEC) = 3 read(3, «\177ELF\1\1\1\0\0\0\0\0\0\0\0\0\3\0(\0\1\0\0\0@\30\0\0004\0\0\0»..., 512) = 512 lseek(3, 21260, SEEK_SET) = 21260 read(3, «\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0»..., 1320) = 1320 lseek(3, 20868, SEEK_SET) = 20868 read(3, «A4\0\0\0aeabi\0\1*\0\0\0\0057-A\0\6\n\7A\10\1\t\2\n\4\22»..., 53) = 53 fstat64(3, {st_mode=S_IFREG|0644, st_size=22580, ...}) = 0 mmap2(NULL, 53820, PROT_READ|PROT_EXEC, MAP_PRIVATE|MAP_DENYWRITE, 3, 0) = 0x402cb000 mprotect(0x402d0000, 28672, PROT_NONE) = 0 mmap2(0x402d7000, 8192, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED|MAP_DENYWRITE, 3, 0x4000) = 0x402d7000 close(3) = 0 mmap2(NULL, 4096, PROT_READ|PROT_WRITE, MAP_PRIVATE|

ivantsarevich ()
Ответ на: продолжение лога от ivantsarevich

продолжение лога

MAP_ANONYMOUS, -1, 0) = 0x400ff000 set_tls(0x400ff830, 0x40104050, 0x400fff18, 0x400ff830, 0x40104050) = 0 mprotect(0x40220000, 8192, PROT_READ) = 0 mprotect(0x40251000, 4096, PROT_READ) = 0 mprotect(0x402d7000, 4096, PROT_READ) = 0 mprotect(0x402c9000, 4096, PROT_READ) = 0 mprotect(0x40288000, 4096, PROT_READ) = 0 mprotect(0x40298000, 4096, PROT_READ) = 0 mprotect(0x4026f000, 4096, PROT_READ) = 0 mprotect(0x40238000, 4096, PROT_READ) = 0 mprotect(0x4013d000, 4096, PROT_READ) = 0 mprotect(0x40122000, 4096, PROT_READ) = 0 mprotect(0x23000, 4096, PROT_READ) = 0 mprotect(0x40103000, 4096, PROT_READ) = 0 munmap(0x40105000, 29912) = 0 set_tid_address(0x400ff3d8) = 8775 set_robust_list(0x400ff3e0, 12) = 0 rt_sigaction(SIGRTMIN, {0x4023ed7d, [], SA_SIGINFO|0x4000000}, NULL, 8) = 0 rt_sigaction(SIGRT_1, {0x4023ec9d, [], SA_RESTART|SA_SIGINFO|0x4000000}, NULL, 8) = 0 rt_sigprocmask(SIG_UNBLOCK, [RTMIN RT_1], NULL, 8) = 0 getrlimit(RLIMIT_STACK, {rlim_cur=8192*1024, rlim_max=RLIM_INFINITY}) = 0 brk(0) = 0x25000 brk(0x46000) = 0x46000 open(«/usr/lib/locale/locale-archive», O_RDONLY|O_LARGEFILE|O_CLOEXEC) = 3 fstat64(3, {st_mode=S_IFREG|0644, st_size=1607760, ...}) = 0 mmap2(NULL, 1607760, PROT_READ, MAP_PRIVATE, 3, 0) = 0x402d9000 close(3) = 0 open(«/var/lib/usbutils/usb.ids», O_RDONLY|O_LARGEFILE) = 3 _llseek(3, 0, [0], SEEK_CUR) = 0 read(3, «#\n#\tList of USB ID's\n#\n#\tMaintai»..., 8192) = 8192 read(3, «1811 PSC 720\n\t1812 OfficeJet P»..., 16384) = 16384 read(3, «S 802.11n Wireless Adapter\n\t0300»..., 16384) = 16384 read(3, «o\n0429 Cirrus Logic\n042a Erics»..., 16384) = 16384 read(3, «ed Pocket PC 2003\n\t0447 Windows»..., 16384) = 16384 brk(0x67000) = 0x67000 read(3, ". Computer Corp.\n\t0100 Keyboard"..., 16384) = 16384 read(3, «0 Scanner\n\t1702 MP410 Composite»..., 16384) = 16384 read(3, «Stylus Photo RX640/RX650]\n\t081d »..., 16384) = 16384 read(3, «\n\t1003 MP3 Player and Recorder\n»..., 16384) = 16384 read(3, «7D1102 N150/Surf Micro Wireless »..., 16384) = 16384 read(3, «rtner\n\t0010 Graphire\n\t0011 Gra»..., 16384) = 16384 brk(0x88000) = 0x88000 read(3, «]\n\t00db FotoShow Zip 250 Driver»..., 16384) = 16384 read(3, «press Card\n\t0400 UFDC\n\t0401 UF»..., 16384) = 16384 read(3, «evice\n\t2528 Storage device (8gB»..., 16384) = 16384 read(3, «sil ISL3886]\n\tee13 SMC2862W-G v»..., 16384) = 16384 read(3, «Voice Recorder & Camera W-10\n\t02»..., 16384) = 16384 read(3, " HPNA Home Phoneline RJ-1\n084d "..., 16384) = 16384 brk(0xa9000) = 0xa9000 read(3, «C\n\t651b TravelDrive 2C\n\t651c T»..., 16384) = 16384 read(3, «istbands Printer\n\t930a Printer\n»..., 16384) = 16384 read(3, «a33 PocketPC Sync\n\t0a34 Pocket»..., 16384) = 16384 read(3, «/485 (Port 3)\n\t2433 SeaPORT+4 (»..., 16384) = 16384 read(3, «ter\n\t5501 Mass Storage Device\n\t»..., 16384) = 16384 read(3, «int Electronic Corp.\n0fb0 Haurt»..., 16384) = 16384 brk(0xca000) = 0xca000 read(3, «\t1450 UPort 1450 4-Port RS-232/»..., 16384) = 16384 read(3, «DTV USB-Ter/HAMA USB DVB-T devic»..., 16384) = 16384 read(3, «001 EdgePort/4 Serial Port\n\t000»..., 16384) = 16384 read(3, «00 - DVB-T USB warm\n1861 Tech T»..., 16384) = 16384 read(3, " controller\n\t000e Genius KB-120"..., 16384) = 16384 read(3, «t BDA Device\n\t0225 Remote Kit I»..., 16384) = 16384 brk(0xeb000) = 0xeb000 read(3, «gital Microscope (SN9C201 + MI13»..., 16384) = 16384 read(3, «43 Slow Blink On Time\n\t044 Slo»..., 16384) = 16384 read(3, «u SAR\nL 0005 Czech\nL 0006 Dani»..., 16384) = 3236 read(3, "", 13148) = 0 read(3, "", 16384) = 0 close(3) = 0 gettimeofday({1435059055, 655585}, NULL) = 0 openat(AT_FDCWD, «/dev/bus/usb», O_RDONLY|O_NONBLOCK|O_LARGEFILE|O_DIRECTORY|O_CLOEXEC) = -1 ENOENT (No such file or directory) openat(AT_FDCWD, «/proc/bus/usb», O_RDONLY|O_NONBLOCK|O_LARGEFILE|O_DIRECTORY|O_CLOEXEC) = 3 fcntl64(3, F_GETFD) = 0x1 (flags FD_CLOEXEC) getdents(3, /* 2 entries */, 32768) = 32 getdents(3, /* 0 entries */, 32768) = 0 close(3) = 0 openat(AT_FDCWD, «/dev», O_RDONLY|O_NONBLOCK|O_LARGEFILE|O_DIRECTORY|O_CLOEXEC) = 3 getdents(3, /* 186 entries */, 32768) = 3824 getdents(3, /* 0 entries */, 32768) = 0 close(3) = 0 write(2, «unable to initialize libusb: -99»..., 33unable to initialize libusb: -99 ) = 33 exit_group(1) = ? +++ exited with 1 +++

ivantsarevich ()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.