LINUX.ORG.RU

Не могу подключить книжку (Gmini MagicBook P60)

 , , ,


0

1

Попала мне в руки старенькая читалка как заявлено производителем на Arm9 Core (Samsung S3C2416) и «The device software includes Linux kernel». Вопрос как ее подключить по USB?

На ноутбуке с win7 монтируется автоматом, определяется книжка вроде как usb-File_bac_ked_Storage_Gadg

А вот на десктопе с archlinux что-то не получается. Чего пытался:

$ fdisk -l
...
fdisk: невозможно открыть /dev/sdb: Отказано в доступе

$ sudo fsck.vfat /dev/sdb
fsck.fat 4.1 (2017-01-24)
Read 512 bytes at 0:Ошибка ввода/вывода

если от рута fdisk -l, то вообще не видит /dev/sdb.

$ sudo  mount -t vfat -o rw /dev/sdb1 /mnt/usb
mount: /mnt/usb: special device /dev/sdb1 does not exist.
$ sudo  mount -t vfat -o rw /dev/sdb /mnt/usb
mount: /mnt/usb: can`t read superblock on /dev/sdb.
$ sudo  mount -t exfat -o rw /dev/sdb1 /mnt/usb
mount: /mnt/usb: special device /dev/sdb1 does not exist.
$ sudo  mount -t exfat -o rw /dev/sdb /mnt/usb
mount: /mnt/usb: can`t read superblock on /dev/sdb.

Ну и посмотрел чего появляется в /dev/disk при подключении

/dev/disk/by-id/@usb-File_bac_ked_Storage_Gadg_3238204E6F76-0:0
/dev/disk/by-path/@pci-0000:00:14.0-usb-0:1:1.0-scsi-0:0:0:0

/dev/disk/by-uuid/ и sudo blkid ничего нового нет.

Usb харды/флешки, sd карты и android девайсы подключаются без проблем, куда копать? Юзать постоянно чужой ноут так себе вариант.

special device /dev/sdb1 does not exist

А с чего ты решил, что sdb?

/dev/disk/by-id/@usb-File_bac_ked_Storage_Gadg_3238204E6F76-0:0

Вот его и монтируй. Или смотри и монтируй то, на что указывает эта символическая ссылка.

Может он уже смонтирован. Загляни в /proc/mounts.

andytux ★★★ ()
Ответ на: комментарий от andytux

А с чего ты решил, что sdb?

Так fdisk (если без рута) ругается, что не может получить доспут к sdb. Вот я и подумал. Но спасибо, я проверил и:

Символическая ссылка usb-File_bac_ked~238204E6F76-0:0 указывает на:../../sdb

$ sudo  mount -t vfat -o rw /dev/disk/by-id/usb-File_bac_ked_Storage_Gadg_3238204E6F76-0:0 /mnt/usb
mount: /mnt/usb: can`t read superblock on /dev/sdb.

Может он уже смонтирован. Загляни в /proc/mounts.

Там его нет.

ordinary ()
Ответ на: комментарий от nebularia

А чем проверять? Я тут поставил gphoto2 он подходящих устройств не нашел

gphoto2 --list-ports
usbdiskdirect:/dev/sdb           Прямой ввод-вывод USB Mass Storage

И что-то вот эта строчка мне подсказывает…

ordinary ()

Юзать постоянно чужой ноут так себе вариант.

Если таки не заведёшь - поставь виртуалку с виндой (VirtualBox, например) и пробрось туда USB.

nebularia ★★ ()

error -71 и FSG > MSG

Посмотрел в логах чего пишут (с этого бы стоило начать, но кто так делает). Идей особо не появилось. Что за device descriptor read/64, error -71?

окт 27 16:21:01 OrdiNary kernel: usb 1-1: new high-speed USB device number 19 using xhci_hcd
окт 27 16:21:07 OrdiNary kernel: usb 1-1: device descriptor read/64, error -71
окт 27 16:21:07 OrdiNary kernel: usb 1-1: config 1 interface 0 altsetting 0 bulk endpoint 0x82 has invalid maxpacket 64
окт 27 16:21:07 OrdiNary kernel: usb 1-1: config 1 interface 0 altsetting 0 bulk endpoint 0x1 has invalid maxpacket 64
окт 27 16:21:07 OrdiNary kernel: usb 1-1: New USB device found, idVendor=0525, idProduct=a4a5, bcdDevice= 3.19
окт 27 16:21:07 OrdiNary kernel: usb 1-1: New USB device strings: Mfr=1, Product=2, SerialNumber=3
окт 27 16:21:07 OrdiNary kernel: usb 1-1: Product: File-backed Storage Gadget
окт 27 16:21:07 OrdiNary kernel: usb 1-1: Manufacturer: linux 2.6 .21 with s3c-udc
окт 27 16:21:07 OrdiNary kernel: usb 1-1: SerialNumber: 3238204E6F76
окт 27 16:21:07 OrdiNary kernel: usb-storage 1-1:1.0: USB Mass Storage device detected
окт 27 16:21:07 OrdiNary kernel: usb-storage 1-1:1.0: Quirks match for vid 0525 pid a4a5: 10000
окт 27 16:21:07 OrdiNary kernel: scsi host6: usb-storage 1-1:1.0
окт 27 16:21:07 OrdiNary mtp-probe[1047102]: checking bus 1, device 19: "/sys/devices/pci0000:00/0000:00:14.0/usb1/1-1"
окт 27 16:21:07 OrdiNary mtp-probe[1047102]: bus: 1, device: 19 was not an MTP device
окт 27 16:21:07 OrdiNary mtp-probe[1047104]: checking bus 1, device 19: "/sys/devices/pci0000:00/0000:00:14.0/usb1/1-1"
окт 27 16:21:07 OrdiNary mtp-probe[1047104]: bus: 1, device: 19 was not an MTP device
окт 27 16:21:08 OrdiNary kernel: scsi 6:0:0:0: Direct-Access     File bac ked Storage Gadg et   PQ: 0 ANSI: 2
окт 27 16:21:08 OrdiNary kernel: sd 6:0:0:0: Power-on or device reset occurred
окт 27 16:21:08 OrdiNary kernel: sd 6:0:0:0: [sdb] 6989135 512-byte logical blocks: (3.58 GB/3.33 GiB)
окт 27 16:21:08 OrdiNary kernel: usb 1-1: reset high-speed USB device number 19 using xhci_hcd

И еще вот эти строки Product: File-backed Storage Gadget Manufacturer: linux 2.6 .21 with s3c-udc, для меня особо ни о чем не говорят. Единственное на kernel.org наткнулся

The Mass Storage Function and thus the Mass Storage Gadget has been based on the File Storage Gadget. The difference between the two is that MSG is a composite gadget (ie. uses the composite framework) while file storage gadget was a traditional gadget. From userspace point of view this distinction does not really matter, but from kernel hacker’s point of view, this means that (i) MSG does not duplicate code needed for handling basic USB protocol commands and (ii) MSF can be used in any other composite gadget. Because of that, File Storage Gadget has been removed in Linux 3.8. All users need to transition to the Mass Storage Gadget.

ordinary ()

У меня похожий девайс монтирует автоматически команда mount такое пишет

/dev/sdc on /run/media/$USER/BC9710AM type vfat (rw,nosuid,nodev,relatime,uid=1000,gid=1001,fmask=0022,dmask=0022,codepage=866,iocharset=utf8,shortname=mixed,showexec,utf8,flush,errors=remount-ro,uhelper=udisks2)

anonymous ()
Ответ на: комментарий от nebularia

Попробуй gparted’ом её глянуть, какая разметка у /dev/sdb (если он что-то всё-таки увидит).

Нет, не видит.

У меня похожий девайс монтирует автоматически команда mount такое пишет

Я попытался со всеми этими опциями, и даже подсовывал бэкапы суперблоков (в том числе x4), но видимо я что-то делаю не так

$ sudo  mount -o rw,nosuid,nodev,realtime,uid=1000,gid=1001,fmask=0022,dmask=0022,codepage=866,iocharset=utf8,shortname=mixed,showexec,utf8,flush,errors=remount-ro,uhelper=udisks2,sb=32768 /dev/sdb /mnt/usb
mount: /mnt/usb: can`t read superblock on /dev/sdb.
$ sudo  mount -o rw,nosuid,nodev,realtime,uid=1000,gid=1001,fmask=0022,dmask=0022,codepage=866,iocharset=utf8,shortname=mixed,showexec,utf8,flush,errors=remount-ro,uhelper=udisks2,sb=131072 /dev/sdb /mnt/usb
mount: /mnt/usb: can`t read superblock on /dev/sdb.

linux-headers поставь.

Для чего? В смысле я поставил, проверил - ничего не изменилось, думаю снести, т.к. не понимаю зачем ставил.

ordinary ()
Ответ на: комментарий от anonymous

в дебианах это решалось установкой gvfs-backend

В арче gvfs-backend это набор пакетов, причем gphoto2 и mtp у меня точно были, а остальные я на всякий добавил (скорее уж от отчаяния). Результат предсказуемо нулевой.

Еще немного погуглив нашел решение как побороть ошибку «device descriptor read/64, error -71», было у меня в логах

Помогло выставить «Y» в /sys/module/usbcore/parameters/old_scheme_first, вот новый лог:

окт 29 13:02:43 OrdiNary kernel: usb 1-1: new high-speed USB device number 17 using xhci_hcd
окт 29 13:02:43 OrdiNary kernel: usb 1-1: config 1 interface 0 altsetting 0 bulk endpoint 0x82 has invalid maxpacket 64
окт 29 13:02:43 OrdiNary kernel: usb 1-1: config 1 interface 0 altsetting 0 bulk endpoint 0x1 has invalid maxpacket 64
окт 29 13:02:43 OrdiNary kernel: usb 1-1: New USB device found, idVendor=0525, idProduct=a4a5, bcdDevice= 3.19
окт 29 13:02:43 OrdiNary kernel: usb 1-1: New USB device strings: Mfr=1, Product=2, SerialNumber=3
окт 29 13:02:43 OrdiNary kernel: usb 1-1: Product: File-backed Storage Gadget
окт 29 13:02:43 OrdiNary kernel: usb 1-1: Manufacturer: linux 2.6 .21 with s3c-udc
окт 29 13:02:43 OrdiNary kernel: usb 1-1: SerialNumber: 3238204E6F76
окт 29 13:02:43 OrdiNary kernel: usb-storage 1-1:1.0: USB Mass Storage device detected
окт 29 13:02:43 OrdiNary kernel: usb-storage 1-1:1.0: Quirks match for vid 0525 pid a4a5: 10000
окт 29 13:02:43 OrdiNary kernel: scsi host6: usb-storage 1-1:1.0
окт 29 13:02:43 OrdiNary mtp-probe[7831]: checking bus 1, device 17: "/sys/devices/pci0000:00/0000:00:14.0/usb1/1-1"
окт 29 13:02:43 OrdiNary mtp-probe[7831]: bus: 1, device: 17 was not an MTP device
окт 29 13:02:43 OrdiNary mtp-probe[7832]: checking bus 1, device 17: "/sys/devices/pci0000:00/0000:00:14.0/usb1/1-1"
окт 29 13:02:43 OrdiNary mtp-probe[7832]: bus: 1, device: 17 was not an MTP device
окт 29 13:02:44 OrdiNary kernel: scsi 6:0:0:0: Direct-Access     File bac ked Storage Gadg et   PQ: 0 ANSI: 2
окт 29 13:02:44 OrdiNary kernel: sd 6:0:0:0: Power-on or device reset occurred
окт 29 13:02:44 OrdiNary kernel: sd 6:0:0:0: [sdb] 6989135 512-byte logical blocks: (3.58 GB/3.33 GiB)
окт 29 13:02:45 OrdiNary kernel: usb 1-1: reset high-speed USB device number 17 using xhci_hcd
окт 29 13:02:45 OrdiNary kernel: usb 1-1: reset high-speed USB device number 17 using xhci_hcd
окт 29 13:02:45 OrdiNary kernel: usb 1-1: reset high-speed USB device number 17 using xhci_hcd
окт 29 13:02:45 OrdiNary kernel: usb 1-1: reset high-speed USB device number 17 using xhci_hcd
окт 29 13:02:45 OrdiNary kernel: usb 1-1: reset high-speed USB device number 17 using xhci_hcd
окт 29 13:02:45 OrdiNary kernel: usb 1-1: reset high-speed USB device number 17 using xhci_hcd
окт 29 13:02:45 OrdiNary kernel: sd 6:0:0:0: [sdb] Write Protect is off
окт 29 13:02:45 OrdiNary kernel: sd 6:0:0:0: [sdb] Mode Sense: 00 00 00 00
окт 29 13:02:45 OrdiNary kernel: usb 1-1: reset high-speed USB device number 17 using xhci_hcd
окт 29 13:02:46 OrdiNary kernel: usb 1-1: reset high-speed USB device number 17 using xhci_hcd
окт 29 13:02:46 OrdiNary kernel: usb 1-1: reset high-speed USB device number 17 using xhci_hcd
окт 29 13:02:46 OrdiNary kernel: usb 1-1: reset high-speed USB device number 17 using xhci_hcd
окт 29 13:02:46 OrdiNary kernel: usb 1-1: reset high-speed USB device number 17 using xhci_hcd
окт 29 13:02:46 OrdiNary kernel: usb 1-1: reset high-speed USB device number 17 using xhci_hcd
окт 29 13:02:46 OrdiNary kernel: sd 6:0:0:0: [sdb] Asking for cache data failed
окт 29 13:02:46 OrdiNary kernel: sd 6:0:0:0: [sdb] Assuming drive cache: write through
окт 29 13:02:46 OrdiNary kernel: sd 6:0:0:0: Power-on or device reset occurred
окт 29 13:02:46 OrdiNary kernel: usb 1-1: reset high-speed USB device number 17 using xhci_hcd

В остальном ничего не поменялось. Надеюсь хоть кто-то сюда заглядывает?

ordinary ()

Такое впечатление, будто ему питания не хватает. Глупо конечно, но попробуй воткнуть в другой порт, на задней стенке.

anonymous ()
Ответ на: комментарий от anonymous

Такое впечатление, будто ему питания не хватает. Глупо конечно, но попробуй воткнуть в другой порт, на задней стенке.

Глупо или нет, но я давно уже попытался. Вероятно у меня 1 контроллер USB и 4 порта 1 спереди и 3 сзади: 2хUSB 2.0 и 2хUSB 3.0.

$ lsusb
Bus 002 Device 001: ID 1d6b:0003 Linux Foundation 3.0 root hub
Bus 001 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub
$ lspci | grep -i usb
00:14.0 USB controller: Intel Corporation 200 Series/Z370 Chipset Family USB 3.0 xHCI Controller

Попытался к каждому подключить, кроме того перебрал 3 доступных мне кабеля:

  • 28AWG/1PR+28AWG/2C («родной», короткий и без экрана)
  • Shielded 28AWG/2C+28AWG/2C (короткий экранированный)
  • Shielded 28AWG/2C+24AWG/2C (от плойки, длинный экранированный с фильтром)

Из этого ничего не помогло. Не знаю исключил ли я проблему с железом, но думаю все же дело в системе.

ordinary ()
Ответ на: комментарий от anonymous

https://bbs.archlinux.org/viewtopic.php?id=119676

Я глянул ссылку. У меня такой проблемы нет: один раз проверяет наличие mtp и больше не дергает usb. Во-вторых там пишут как решение либо снести libmtp, либо ожидать фикс в libmtp 1.1.1, а у меня gvfs-mtp притянул libmtp 1.1.18, что не удивительно спустя десятилетие. Ну а в-третьих я таки снёс - не помогло. В любом случае впасибо всем, кто накидывает варианты.

Если таки не заведёшь - поставь виртуалку с виндой (VirtualBox, например) и пробрось туда USB.

@nebularia, проверил в виртуалке - вроде как видит, но прочитать память не может, после долгих висяков предлагает отформатировать, что похоже на mount: /mnt/usb: can't read superblock on /dev/sdb. в linux. Есть идеи?

ordinary ()
Ответ на: комментарий от anonymous

И blkid -o list -c /dev/null

До и после подключения

anonymous ()
Ответ на: комментарий от anonymous

А порты все usb3 ?

нет, есть 2 и 3

И blkid -o list -c /dev/null До и после подключения

Добавляет /dev/sdb (not mounted). Ну а так еще видит SSD и хард sda1.

udevadm monitor –property –kernel –udev

А долго ждать? всё пишет и пишет…Залью куда-нибудь после, если остановится вообще.

ordinary ()
Ответ на: комментарий от ordinary

Добавляет /dev/sdb

а файловую систему пишет и какую?

А долго ждать? всё пишет и пишет

Не должен постоянно писать, значит какие то события - скорее всего ошибки подключения. Вот их и глянуть остановив монитор

anonymous ()
Ответ на: комментарий от anonymous

а файловую систему пишет и какую?

нет

Не должен постоянно писать, значит какие то события - скорее всего ошибки подключения. Вот их и глянуть остановив монитор

Честно, мне и самому надоело ждать, вот лог

ordinary ()
Ответ на: комментарий от ordinary

Вангую, что на ноутбуке в котором вин7 при смене оси на Линукс тоже будет читать. Очень похоже на какую-то железную проблему с USB, раз виртуалка не смогла прочитать. Может в биосе что-нибудь покрутить?

einhander ★★★★★ ()
Ответ на: комментарий от einhander

Вангую, что на ноутбуке в котором вин7 при смене оси на Линукс тоже будет читать. Очень похоже на какую-то железную проблему с USB, раз виртуалка не смогла прочитать.

Да, верно, рано я исключил проблему с железом. Короче гружусь с arch-live на десктопе - результат аналогичен, ничего не видит, сыпет примерно те же сообщения (просто я не сообразил как сохранить лог) Загружаюсь с того же arch-live на том самом ноуте и чудо - blkid спокойно определяет и фс vfat и UUID, даже label «человеческий» MagicBook (в винде было что-то типо usb-File_bac_ked_Storage_Gadg).

Возможно разница из-за того, что у десктопа: Intel Corporation 200 Series/Z370 Chipset Family USB 3.0 xHCI Controller, а у ноута: Intel Corporation 82801I (ICH9 Family) USB2 UHCI Controller

Может в биосе что-нибудь покрутить?

Блин, нечего там особо крутить, кроме как вкл/выкл usb…может каким другим путём?

Может autosuspend попробовать отключить

Делал еще до создания этой темы

ordinary ()
Ответ на: комментарий от ordinary

Если в биосе есть отключение usb3, то можно попробовать отключить. Ещё можно попробовать заблеклистить модуль для usb3, хз поможет ли. Ещё вариант взять попользоваться usb2 разветвителем с отдельным питанием может быть и проканает.

einhander ★★★★★ ()
Ответ на: комментарий от einhander

В биосе только enable/disable usb support, т.е. отрубить прям совсем. И еще я чет не нашел модулей ehci или uhci в /sys, только xchi. Что-то выляется в /usr/lib/modules/5.9.1-arch1-1/kernel/drivers/usb/host, как-то можно их подключить вместо xhci?

Я (вроде бы??) заблеклистил xhci_hcd, но чет не вышло:

окт 31 15:24:53 OrdiNary kernel: Linux version 5.9.1-arch1-1 (linux@archlinux) (gcc (GCC) 10.2.0, GNU ld (GNU Binutils) 2.35.1) #1 SMP PREEMPT Sat, 17 Oct 2020 13:30:37 +0000
окт 31 15:24:53 OrdiNary kernel: Command line: BOOT_IMAGE=/vmlinuz-linux root=UUID=02f19adc-638c-4b07-bf12-41feb9910013 rw modprobe.blacklist=xhci_hcd rcutree.rcu_idle_gp_delay=1 intel_pstate=enable

а потом...

окт 31 15:24:53 OrdiNary kernel: xhci_hcd 0000:00:14.0: xHCI Host Controller
окт 31 15:24:53 OrdiNary kernel: xhci_hcd 0000:00:14.0: new USB bus registered, assigned bus number 1
окт 31 15:24:53 OrdiNary kernel: xhci_hcd 0000:00:14.0: hcc params 0x200077c1 hci version 0x100 quirks 0x0000000000009810
окт 31 15:24:53 OrdiNary kernel: xhci_hcd 0000:00:14.0: cache line size of 64 is not supported
окт 31 15:24:53 OrdiNary kernel: usb usb1: New USB device found, idVendor=1d6b, idProduct=0002, bcdDevice= 5.09
окт 31 15:24:53 OrdiNary kernel: usb usb1: New USB device strings: Mfr=3, Product=2, SerialNumber=1
окт 31 15:24:53 OrdiNary kernel: usb usb1: Product: xHCI Host Controller
окт 31 15:24:53 OrdiNary kernel: usb usb1: Manufacturer: Linux 5.9.1-arch1-1 xhci-hcd
окт 31 15:24:53 OrdiNary kernel: usb usb1: SerialNumber: 0000:00:14.0
окт 31 15:24:53 OrdiNary kernel: hub 1-0:1.0: USB hub found
окт 31 15:24:53 OrdiNary kernel: hub 1-0:1.0: 12 ports detected
окт 31 15:24:53 OrdiNary kernel: xhci_hcd 0000:00:14.0: xHCI Host Controller
окт 31 15:24:53 OrdiNary kernel: xhci_hcd 0000:00:14.0: new USB bus registered, assigned bus number 2
окт 31 15:24:53 OrdiNary kernel: xhci_hcd 0000:00:14.0: Host supports USB 3.0 SuperSpeed
окт 31 15:24:53 OrdiNary kernel: usb usb2: New USB device found, idVendor=1d6b, idProduct=0003, bcdDevice= 5.09
окт 31 15:24:53 OrdiNary kernel: usb usb2: New USB device strings: Mfr=3, Product=2, SerialNumber=1
окт 31 15:24:53 OrdiNary kernel: usb usb2: Product: xHCI Host Controller
окт 31 15:24:53 OrdiNary kernel: usb usb2: Manufacturer: Linux 5.9.1-arch1-1 xhci-hcd
окт 31 15:24:53 OrdiNary kernel: usb usb2: SerialNumber: 0000:00:14.0
окт 31 15:24:53 OrdiNary kernel: hub 2-0:1.0: USB hub found
окт 31 15:24:53 OrdiNary kernel: hub 2-0:1.0: 6 ports detected
окт 31 15:24:53 OrdiNary kernel: usb: port power management may be unreliable

Еще попытался echo -n "0000:00:14.0" | sudo tee /sys/bus/pci/drivers/xhci_hcd/unbind, думал может переключится, но в итоге просто отвалились usb.

ordinary ()
Последнее исправление: ordinary (всего исправлений: 1)
Ответ на: комментарий от ordinary

И еще я чет не нашел модулей ehci или uhci в /sys, только xchi.

Может быть в этом и проблема. А если выгрузить xchi и загрузить uhci?

einhander ★★★★★ ()
Ответ на: комментарий от einhander

выгрузить xchi и загрузить uhci?

Объясни пожалуйста, как это сделать?

$ sudo modprobe ehci-hcd & echo -n "/dev/bus/usb/001/007" | sudo tee /sys/bus/pci/drivers/xhci_hcd/unbind & modprobe -r xhci-hcd
[2] 222653
[3] 222655
modprobe: FATAL: Module xhci_hcd is in use.

То что в голову пришло, не очень сработало, но lsmod показывает и xhci и ehci теперь. Но при подключении, все равно usb 1-1: new high-speed USB device number 12 using xhci_hcd

Просто отдельно каждую команду запускать не выйдет, у меня usb клавиатура отваливается…или как выгрузить xhci если он используется?

ordinary ()
Последнее исправление: ordinary (всего исправлений: 1)
Ответ на: комментарий от einhander

Спасибо за попытку, но чего-то не хватает в этой схеме когда выгружаешь xhci, udevadm сообщает что анбиндит шину 0000:00:14.0 и на этом радосто прекращаются любые реакции usb.

А до этого наверное лучше загрузить ehci-hcd

если просто грузить через modprobe ehci_hcd, то в /sys/bus/pci вообще ничего не создается. Если прописать загрузку в modules-load.d то создается

$ ls /sys/bus/pci/drivers/ehci-pci
bind  module  new_id  remove_id  uevent  unbind

Но нет линка на шину и это отличается от

$ ls /sys/bus/pci/drivers/xhci_hcd
0000:00:14.0  bind  module  new_id  remove_id  uevent  unbind

Соответственно, выгрузить xhci или анбиндить вручную получается, а вот ehci уже ругается

$ echo -n "0000:00:14.0" | sudo tee /sys/bus/pci/drivers/ehci-pci/bind
0000:00:14.0tee: /sys/bus/pci/drivers/ehci-pci/bind: Нет такого устройства
ordinary ()
Для того чтобы оставить комментарий войдите или зарегистрируйтесь.