Hi,
are there any known specific requirements, which USB sticks can be used for external storage? I have not found anything in the documentation.
I have tried in my HAPac3 some 8G USB3 Sticks, and all worked. Then I tried a couple of 32G USB3 Sticks (all the same model) and none of them were working.
They were detected, but they could not be formatted inside ROS. I tried to format them outside ROS to fat32 and ext4 with or without an MSDOS partition table.
I tried ROS7.7, 7.8 and 7.9rc2 and I tried installing ROSE. Nothing helped.
I had no different model of 32G or bigger with me, next time I will pick up some and test.
I was wondering if there were some specific limitations, as some of the 32G Sticks I tried, were tested and found OK (by Gparted and by H2testw) in a normal PC.
I had trouble with have Kingston DataTraveler 64Gb. When I bought it, format in ROS did not work and I had to format it on Linux with ext4, without partition table, to work. After that formatting in ROS also worked, guessing problem was due to stock partition table on it. I did perform format on ROS again just to have fs optimizations, I/O performance was much better after that. When I was comparing linux format and ROS format, ROS actually formats with ext3 and with some optimizations.
thanks optio! So it´s at least not the size, good to know! It´s also not the MBR, as I have tried removing that.
Maybe there is just some peculiarity with this vendor or this particular product.
On Linux everything works fine. On ROS, whatever I do with these sticks, they are seen, but they can´t be formatted and don´t appear as a subfolder in the File browser. (I am quite certain I did everything correctly, as the 8G stick did format on ROS and is in use now in the HAP)
I bought a bunch of this specific type, but no problem, usb sticks of similar size are cheap.
If you have tried a 64G one and it worked it´s not some undocumented capacity limit I hit.
So does /system/resource/usb/print detail show “problematic” USB stick when plugged in?
Sadly ROS doesn’t display enough details about USB devices when plugged in, but normal linux does if one runs lsusb -v … Linux in general recognizes disk drives because those set a few values in interface descriptor (when they atttach to USB host): bInterfaceClass (usually 8 - Mass Storage). Then there are a couple of other information bits: bInterfaceSubClass (which indicates device subclass - high-level protocol supported by device, such as “SCSI”) and bInterfaceProtocol (which indicates low-level protocol supported by device). I’m pretty sure that all USB sticks I have (and work in ROS for me), are “Mass Storage” class, “SCSI” sub-class and support “Bulk-Only” protocol.
And just by observing these bits of information is enough to properly support many different USB sticks without specific support per vendor/device identification (Windows is different, at least up to windows 7 it bound specific driver to combination of vendor/device/port … and surely enough every vendor only “supported” only their own devices, hence inflation of number of “different” drivers).
So if you check the detailed lsusb output between usb stick which does work in ROS and the one which doesn’t … it might be possible to figure something out (or not).
@mkx: thanks, nice tipp! I will check this, as soon as I get my hands on those devices again (at least a week) , and post here if I can figure out something.
@optio: thanks!
I don´t think it should be necessary after repartitioning and reformatting (except ROS FS/disk support has some strange bug), but I´ll give it a try if nothing else helps
Sorry, but I have just lost the not working USB Stick. I could not find out what the reason was .
I have tried 2 more USB3 Sticks, one being 16G and another one being 64G and both worked with 7.9rc5.
There seems to be no general issue with USB on HAPac3.