usboot Posted April 29, 2016 Posted April 29, 2016 I made a funny project for trying to use the ARM single board as the USB disk or cdrom. I did a lot of optimizations for the size and speed. Releases: https://github.com/usboot/USBootPi/releases USBootPi supports NanoPi M1. It also supports OrangePi One/PC but we need more USB cables(one for power, another one for OTG). Sorry, there is no the English readme now.
usboot Posted May 3, 2016 Author Posted May 3, 2016 The english readme is ready: https://github.com/usboot/USBootPi 1
tkaiser Posted May 3, 2016 Posted May 3, 2016 Wow, this is nice! Did you test performance? Using CrystalDiskInfo for example?
usboot Posted May 4, 2016 Author Posted May 4, 2016 Wow, this is nice! Did you test performance? Using CrystalDiskInfo for example? 8G Class4 2
tkaiser Posted May 4, 2016 Posted May 4, 2016 Wow, that makes me nervous and I have to try this out with a board with fast eMMC!! Especially the huge random write difference with a queue depth of 32 and 1...
usboot Posted June 11, 2016 Author Posted June 11, 2016 v1.3 is released, RAID0 is supported. I tested the maximum speeds of the OTG. The maximum speeds are the same as the above CrystalDiskMark's result. I did some tries for improving the speeds but they did not work. I think the speeds should be improved because the CPU utilization is still low when the maximum speeds reach. Who can tell me the actual reason about it?
tkaiser Posted June 21, 2016 Posted June 21, 2016 Thx for the feedback about performance. I also don't know but would be happy to investigate a bit. Care to elaborate a bit how to set up things correctly with a normal Linux/Armbian build? Adding g_mass_storage to /etc/modules is the first step but how to proceed then? I tried to use your small image but since I'm using OS X and no Windows I fail already at the first step since adding another exFAT partition isn't possible (or let's better say: OS X' disk utility then wipes out the complete SD card including boot loader so I would assume in your setup g_mass_storage is simply providing access to the 'raw' /dev/mmcblk0 device in installation stage?)
usboot Posted June 21, 2016 Author Posted June 21, 2016 Thx for the feedback about performance. I also don't know but would be happy to investigate a bit. Care to elaborate a bit how to set up things correctly with a normal Linux/Armbian build? Adding g_mass_storage to /etc/modules is the first step but how to proceed then? I tried to use your small image but since I'm using OS X and no Windows I fail already at the first step since adding another exFAT partition isn't possible (or let's better say: OS X' disk utility then wipes out the complete SD card including boot loader so I would assume in your setup g_mass_storage is simply providing access to the 'raw' /dev/mmcblk0 device in installation stage?) I did not use g_mass_storage because I found that the kernel would crash when unloading this module. I used the Android gadget and I recommend this gadget because it can be used with one more gadgets at the same time. You are right. I will upload the full sources during my spare time. The following are the core codes : if [ -b "/dev/mmcblk0p2" ]; then echo "$_disk" > /sys/class/android_usb/f_mass_storage/lun1/file echo "$_disk2" > /sys/class/android_usb/f_mass_storage/lun2/file else echo "0" > /sys/class/android_usb/f_mass_storage/lun2/ro echo "0" > /sys/class/android_usb/f_mass_storage/lun2/removable echo "/dev/mmcblk0" > /sys/class/android_usb/f_mass_storage/lun2/file fi echo "USBoot" > /sys/class/android_usb/android0/iManufacturer echo "USBootPi" > /sys/class/android_usb/android0/iProduct echo "f833" > /sys/class/android_usb/android0/idVendor echo "0001" > /sys/class/android_usb/android0/idProduct echo "mass_storage" > /sys/class/android_usb/android0/functions echo "2" > /sys/bus/platform/devices/sunxi_usb_udc/otg_role echo "1" > /sys/class/android_usb/android0/enable 1
tkaiser Posted June 21, 2016 Posted June 21, 2016 Looks good. I just tried to load the g_multi module which does not work and I'm not even sure whether that's the right one. So looking forward to more details provided by you
cmirra Posted September 11, 2016 Posted September 11, 2016 Very nice project. I am also working on something similar. Looking forward to seeing more of your sourcecode released. Very impressed with how much you stripped the kernel down -- the device (orange pi pc) boots very fast.
Nyctophilia Posted March 7, 2017 Posted March 7, 2017 @usboot Nice project! As there isn't any sourcecode which I could look into, would you may explain to me, how to make g_multi and/or the android gadget drivers working on current nanopi m1 or orange pi zero builds? I would love to have proper cd/dvd emulation and hid passthrough working! Here is my current thread, explaining my situation: Thank you very much in advance!
Recommended Posts