Jump to content

USBootPi


usboot

Recommended Posts

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.

Link to comment
Share on other sites

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?
Link to comment
Share on other sites

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?)

Link to comment
Share on other sites

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
Link to comment
Share on other sites

@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!

 

Link to comment
Share on other sites

Guest
This topic is now closed to further replies.
×
×
  • Create New...

Important Information

Terms of Use - Privacy Policy - Guidelines