by limor » Sat Nov 20, 2010 4:15 pm
by limor
Sat Nov 20, 2010 4:15 pm
I would like the IGEP to act as USB Host while being powered by a USB hub. This will allow other devices to be attached to the USB hub and be powered by it so everyone gets powered by the USB hub happily and the hub gets powered by a LiPo battery and the whole thing is tucked neatly into a robot.
However, USB OTG works either in Host (Master) mode and tries to power the attached USB device, or works in Client (Slave or Device) mode which allows it to be powered from the attached Host.
If USB Pin4 (of the mini-AB connector) is grounded then the OMAP cpu knows it is supposed to be a USB host and doesn't allow power to come in from the USB hub. So the module doesnt power up.
If USB Pin4 is not connected (as in the case of a mini-B connector), then OMAP allows the hub or other computer to power the IGEP.
Kind of catch 22 situation. So we googled around and found that some people have tricked the Nokia N800 and Beagle Board to boot up as USB Slave but then got the operating system to act on the USB OTG link as a Host by entering the following line:
echo host > /sys/devices/platform/musb_hdrc/mode
So this is the plan.
But before attempting it we had a few hurdles.
A) WiFi ssh access -- the IGEP module has only the OTG usb connector on board that is accessible without a daughter board. We got to talk to the module from Windows7 and configured its wifi to connect to the local network and then the plan is to disconnect it from the Windows7, power it from the USB hub and ssh to it via WiFi since it will be connected to the hub as a host, not a client, there will be no way to create a virtual network over USB.. so the only way to talk to the module once disconnected from Windows7 is via Wifi. (this was
documented in a separate thread)
B) Regulated power supply -- powering the hub (that powers the IGEP module) from a cheap 5V 1.5A DC power supply did not provide enough current to allow the IGEP to work continuously with wifi. The symptoms were that the module was booting and we had configured it to work with the local wifi network and it was responding to ping most of the time. But any attempt to ssh to the module via wifi resulted in the module rebooting. So we
used a DC-DC converter regulator and fed it with a 12V 5A power source (Bioloid power supply). This stopped the strange reboots.
Here is the setup:
Here is a closeup of the DC-DC level shifter
converter regulator. The 2 resistors there in series form together resistance close enough to the datasheet's 1.34k ohm needed to output 5V
The power comes to the IGEP module from one of the Client ports while Pins 2 and 3 are attached to the Host data port pins. The connector attached to the module is a mini-B in order not to have Pin4 grounded which would prevent the module from even powering up.
As of Friday afternoon, we didn't get this to work the first time and needed to leave the office. We'll continue Monday morning and hopefully get the module to be a USB host while being powered from the USB hub..
I would like the IGEP to act as USB Host while being powered by a USB hub. This will allow other devices to be attached to the USB hub and be powered by it so everyone gets powered by the USB hub happily and the hub gets powered by a LiPo battery and the whole thing is tucked neatly into a robot.
However, USB OTG works either in Host (Master) mode and tries to power the attached USB device, or works in Client (Slave or Device) mode which allows it to be powered from the attached Host.
If USB Pin4 (of the mini-AB connector) is grounded then the OMAP cpu knows it is supposed to be a USB host and doesn't allow power to come in from the USB hub. So the module doesnt power up.
If USB Pin4 is not connected (as in the case of a mini-B connector), then OMAP allows the hub or other computer to power the IGEP.
Kind of catch 22 situation. So we googled around and found that some people have tricked the Nokia N800 and Beagle Board to boot up as USB Slave but then got the operating system to act on the USB OTG link as a Host by entering the following line:
echo host > /sys/devices/platform/musb_hdrc/mode
So this is the plan.
But before attempting it we had a few hurdles.
A) WiFi ssh access -- the IGEP module has only the OTG usb connector on board that is accessible without a daughter board. We got to talk to the module from Windows7 and configured its wifi to connect to the local network and then the plan is to disconnect it from the Windows7, power it from the USB hub and ssh to it via WiFi since it will be connected to the hub as a host, not a client, there will be no way to create a virtual network over USB.. so the only way to talk to the module once disconnected from Windows7 is via Wifi. (this was
documented in a separate thread)
B) Regulated power supply -- powering the hub (that powers the IGEP module) from a cheap 5V 1.5A DC power supply did not provide enough current to allow the IGEP to work continuously with wifi. The symptoms were that the module was booting and we had configured it to work with the local wifi network and it was responding to ping most of the time. But any attempt to ssh to the module via wifi resulted in the module rebooting. So we
used a DC-DC converter regulator and fed it with a 12V 5A power source (Bioloid power supply). This stopped the strange reboots.
Here is the setup:
Here is a closeup of the DC-DC level shifter
converter regulator. The 2 resistors there in series form together resistance close enough to the datasheet's 1.34k ohm needed to output 5V
The power comes to the IGEP module from one of the Client ports while Pins 2 and 3 are attached to the Host data port pins. The connector attached to the module is a mini-B in order not to have Pin4 grounded which would prevent the module from even powering up.
As of Friday afternoon, we didn't get this to work the first time and needed to leave the office. We'll continue Monday morning and hopefully get the module to be a USB host while being powered from the USB hub..