balena-os / balena-allwinner

Apache License 2.0
20 stars 14 forks source link

[Orange Pi Zero] USB storage devices unmountable #74

Open philippnbg opened 5 years ago

philippnbg commented 5 years ago

I tried mounting an USB3 HDD, USB3 pendrive and USB2 pendrive using the single USB2.0 A port. They are recognised in the host OS in dmesg and via lsusb, though can not be seen in /dev/sdX or via fdisk -l and are therefore not mountable. All three USB devices are mountable from raspberry pi zero and raspberry pi 3 balena images. I noticed, that the usb-storage module is not loaded (but I don't know, if it is needed to mount USB storage devices).

BalenaOS: balenaOS 2.31.5+rev1 Supervisor version: 9.11.3

relevant output of dmesg:

[ 697.720053] usb 3-1: USB disconnect, device number 2 [ 701.810803] usb 3-1: new high-speed USB device number 3 using ehci-platform

lsusb -t:

root@80c9c35:~# lsusb -t /: Bus 04.Port 1: Dev 1, Class=root_hub, Driver=ohci-platform/1p, 12M /: Bus 03.Port 1: Dev 1, Class=root_hub, Driver=ehci-platform/1p, 480M |__ Port 1: Dev 3, If 0, Class=Mass Storage, Driver=, 480M /: Bus 02.Port 1: Dev 1, Class=root_hub, Driver=ohci-platform/1p, 12M /: Bus 01.Port 1: Dev 1, Class=root_hub, Driver=ehci-platform/1p, 480M

fdisk -l:

root@80c9c35:~# fdisk -l Disk /dev/mmcblk0: 14.9 GiB, 15931539456 bytes, 31116288 sectors Units: sectors of 1 * 512 = 512 bytes Sector size (logical/physical): 512 bytes / 512 bytes I/O size (minimum/optimal): 512 bytes / 512 bytes Disklabel type: dos Disk identifier: 0x4d7578f8

Device Boot Start End Sectors Size Id Type /dev/mmcblk0p1 * 8192 90111 81920 40M e W95 FAT16 (LBA) /dev/mmcblk0p2 90112 729087 638976 312M 83 Linux /dev/mmcblk0p3 729088 1368063 638976 312M 83 Linux /dev/mmcblk0p4 1368064 31116287 29748224 14.2G f W95 Ext'd (LBA) /dev/mmcblk0p5 1376256 1417215 40960 20M 83 Linux /dev/mmcblk0p6 1425408 31116287 29690880 14.2G 83 Linux

lsmod:

root@80c9c35:~# lsmod Module Size Used by ip6t_REJECT 16384 1 nf_reject_ipv6 16384 1 ip6t_REJECT ipt_REJECT 16384 1 nf_reject_ipv4 16384 1 ipt_REJECT ip6table_filter 16384 1 ip6_tables 24576 1 ip6table_filter ipt_MASQUERADE 16384 3 nf_nat_masquerade_ipv4 16384 1 ipt_MASQUERADE nfnetlink 16384 1 br_netfilter 24576 0 xt_owner 16384 0 arc4 16384 2 xradio_wlan 114688 1 mac80211 352256 1 xradio_wlan cfg80211 266240 2 mac80211,xradio_wlan

uname -a:

Linux 80c9c35 4.17.3 #1 SMP Sat Mar 23 12:13:05 UTC 2019 armv7l armv7l armv7l GNU/Linux

load usb-storage manually:

root@80c9c35:~# modprobe usb-storage modprobe: FATAL: Module usb-storage not found in directory /lib/modules/4.17.3

content of boot/dtb:

root@80c9c35:~# ls -asl /mnt/boot/dtb/ total 36 2 drwxr-xr-x 2 root root 2048 Mar 23 12:42 . 16 drwxr-xr-x 6 root root 16384 Jan 1 1970 .. 18 -rwxr-xr-x 1 root root 17849 Mar 23 12:42 sun8i-h2-plus-orangepi-zero.dtb

mwohlert commented 5 years ago

I would say the usb-storage module is not a part of the orange pi zero image. Therefore you would have to enable it in the defconfig for kernel 4.17.3. However you would have to check with the balena guys if they want it on every build of every device in the allwinner platform.

The config string you are looking for is: CONFIG_USB_STORAGE=y

You could make a build yourself by taking a look at the provided balena-yocto-scripts/automation/jenkins-build.sh.