Hi,
I have installed Linux on sdcard using this instruction. When, I connect a USB flash to the board(J12), nothing happend! No device will be added to /dev directory.
Also, I have changed both J20 and J20 configuration but no luck!
Does anyone know what's wrong?
Solved! Go to Solution.
Dear Amir,
1. Tower module have all necessary power for J12. Use default configuration of J21 1-2, 3-4 no other wires. J12 is powered from USB1_VBUS. This is sourced from U8/P5V_USB1 - output is enabled by default (Linux can disable it).
2. to USB stick working properly, you need g_file_storage gadget. The kernel module does not get built by default.
not sure if it is in your SDK. If you use desktop factory, navigate to your top-level Factory directory and run 'make kernel-menuconfig'. Navigate to:
Device Drivers > USB support > USB Gadget Support > File-backed Storage Gadget
And select this option as 'M'. Save and exit kernel configuration, and run 'make' to rebuild. The RFS image at build_*/images/rfs/ will now have the g_file_storage gadget.
/Jiri
Dear Amir,
May you be a bit more specific, please, about the J21 jumper setting on the board (refer to its schematic)? E.g. the first thing to verify is if 5V power (USB1_VBUS) comes to your USB Flash drive and what voltage value.
Regards, Naoum Gitnik.
Hi Naoum,
Jumper 21 has 4 pins. when I use wire jumper to connect pins 1-2 & pins 3-4, I can get 4.2v from USB1_VBUS. But, when I connect a USB stick which has a LED, it does not blink.
I want to use my USB as rootfs.
Dear Amir,
As I suspected, the voltage appeared to be too low to meet the USB specification (5.00±0.25 V). It is due to that the 5V rail in this case is powered from a PC via the on-board circuits with their voltage drops (refer to the schematic), and quite often that PC itself provides on its USB connector voltage quite low, although still within the specification limits.
We also observed such behavior; e.g. you may try to have a shunt between J21.1 and J21.2 (for Vybrid itself) but connect an external 5V source to J21.3 (for the USB Flash drive).
Unfortunately, this is a negative by-product of the compact, USB-powered Tower board topology. This issue is partially taken into account for the case when it is used as a part of the Tower kit - in this case the kit as a whole has special terminals to be connected to an external 5V source.
Please, let me know if it helps.
Regards, Naoum Gitnik.
Thank you for the answer.
Is there any header(pin) on the board that I can connect the ground wire of the external source to it?
Dear Amir,
You may use the TP13 or TP16 test points connected to GND.
Regards, Naoum Gitnik.
Dear Naoum,
I apply 4.94V to J21.3 and put a shunt between J21.1 and J21.2. But, the light does not blink and no message is shown in dmesg.
Also, I have checked the USB port voltage again.(4.94V)
Here is the picture of the current configuration.
Regards,
Amir
Dear Amir,
Just a couple comments:
Regards, Naoum Gitnik.
(Jiri Kotzian - FYI)
Dear Amir,
1. Tower module have all necessary power for J12. Use default configuration of J21 1-2, 3-4 no other wires. J12 is powered from USB1_VBUS. This is sourced from U8/P5V_USB1 - output is enabled by default (Linux can disable it).
2. to USB stick working properly, you need g_file_storage gadget. The kernel module does not get built by default.
not sure if it is in your SDK. If you use desktop factory, navigate to your top-level Factory directory and run 'make kernel-menuconfig'. Navigate to:
Device Drivers > USB support > USB Gadget Support > File-backed Storage Gadget
And select this option as 'M'. Save and exit kernel configuration, and run 'make' to rebuild. The RFS image at build_*/images/rfs/ will now have the g_file_storage gadget.
/Jiri
Jiri, I tried to update the Kernel version to the newer one like 3.10 but I could not find "File-backed Storage Gadget" option anymore. Why has it been removed? Did they change the name? I check all of the options under "USB Gadget Support" but seems none of them lets USB to appear as SCSI disk drive. Could you please help me with that?
OK, I found the problem. It seems that the kernel that TimeSys customized for Vybrid Tower has one extra option in menuconfig that if I disable them, USB controller does not work.
I have marked those two extra options in the attached image.
Now, the question is how can add that module to my new kernel?
Hi Amir,
module can be added after boot using modprobe. For example modprobe g_ether
But please look at timesys web page - they are SW specialist.
/Jiri
Thank you Jiri. It works now. :)