[Nexus S Android Development] hedpe:
what does this mean exactly? By upstream power, do you mean that it needs to place power on the cable that goes to the phone? For example, I have tested power on the ports on my hub, and the ports that I plug in devices in (e.g., keyboard or USB stick) have power on them from the hub. However, the port that I plug the phone (host) in to does not have power on it. Is that a lack of "upstream" power?

I got an OTG cable, and I find that it detects my hub (albeit wrong number of ports?), but that it doesn't detect any devices plugged in:

<4>[ 244.193222] OTG: no changes needed
<6>[ 254.272316] fsa9480 7-0025: dev1: 0x80, dev2: 0x0
<4>[ 254.280175] Setting OTG host mode
<6>[ 254.281878] otg_dbg: in s5pc110_otg_drv_probe()::00076
<6>[ 254.282460] => s3c_otg_drv_probe
<4>[ 254.283574] drivermode = 0
<6>[ 254.288416] android_work: did not send uevent (0 0 (null))
<4>[ 254.302759] otg_host_phy_int : USBPHYCTL=0x1,PHYPWR=0x1e0,PHYCLK=0x7,USBCFG=0x570f
<6>[ 254.403924] s3c_otghcd s3c_otghcd: S3C OTGHCD
<6>[ 254.404665] s3c_otghcd s3c_otghcd: new USB bus registered, assigned bus number 1
<6>[ 254.406052] s3c_otghcd s3c_otghcd: irq 88, io mem 0xec000000
<7>[ 254.664469] usb usb1: default language 0x0409
<7>[ 254.665648] usb usb1: udev 1, busnum 1, minor = 0
<6>[ 254.666246] usb usb1: New USB device found, idVendor=1d6b, idProduct=0002
<6>[ 254.667435] usb usb1: New USB device strings: Mfr=3, Product=2, SerialNumber=1
<6>[ 254.668036] usb usb1: Product: S3C OTGHCD
<6>[ 254.669064] usb usb1: Manufacturer: Linux 3.0.8-gc4191d9 EMSP_OTGHCD
<6>[ 254.669652] usb usb1: SerialNumber: s3cotg
<7>[ 254.672743] usb usb1: usb_probe_device
<7>[ 254.673365] usb usb1: configuration #1 chosen from 1 choice
<7>[ 254.674541] usb usb1: adding 1-0:1.0 (config #1, interface 0)
<7>[ 254.676043] hub 1-0:1.0: usb_probe_interface
<7>[ 254.676639] hub 1-0:1.0: usb_probe_interface - got id
<6>[ 254.677670] hub 1-0:1.0: USB hub found
<6>[ 254.678318] hub 1-0:1.0: 1 port detected
<7>[ 254.679492] hub 1-0:1.0: standalone hub
<7>[ 254.680073] hub 1-0:1.0: ganged power switching
<7>[ 254.680650] hub 1-0:1.0: global over-current protection
<7>[ 254.681678] hub 1-0:1.0: Single TT
<7>[ 254.682254] hub 1-0:1.0: TT requires at most 32 FS bit times (2664 ns)
<7>[ 254.683408] hub 1-0:1.0: power on to power good time: 0ms
<7>[ 254.684067] hub 1-0:1.0: local power source is good
<7>[ 254.685102] hub 1-0:1.0: no over-current condition exists
<7>[ 254.685687] hub 1-0:1.0: enabling power on all ports
<6>[ 254.686279] otg_dbg: in root_hub_feature()::00477
<6>[ 254.687290] => case SetPortFeature -USB_PORT_FEAT_POWER
<6>[ 254.689867] otg_dbg: in s5pc110_otg_drv_probe()::00182
<6>[ 254.691089] => OTG HCD Initialized HCD, bus=C110 OTG Controller, usbbus=1
<4>[ 254.692591] platform_driver_registered
<7>[ 254.788166] hub 1-0:1.0: state 7 ports 1 chg 0000 evt 0000
<6>[ 254.788354] otg_dbg: in otg_handle_interrupt()::00087
<6>[ 254.788472] => Port Interrupt
<6>[ 254.788593] otg_dbg: in process_port_intr()::00276
<6>[ 254.788658] => over current condition is changed
<3>[ 254.788851] otg_err: in otg_power_work()::00065
<3>[ 254.788915] => invalid otghost data

it seems like there are some errors there that deal with power...

If I use auto-host mode instead, I have the same issue. Here is the dmesg output:

<4>[ 147.344286] OTG: no changes needed
<6>[ 165.491382] fsa9480 7-0025: dev1: 0x80, dev2: 0x0
<4>[ 165.499196] Setting OTG host mode
<6>[ 165.500260] otg_dbg: in s5pc110_otg_drv_probe()::00076
<6>[ 165.501433] => s3c_otg_drv_probe
<4>[ 165.502560] drivermode = 0
<6>[ 165.503239] android_work: did not send uevent (0 0 (null))
<4>[ 165.529111] otg_host_phy_int : USBPHYCTL=0x1,PHYPWR=0x1e0,PHYCLK=0x7,USBCFG=0x570f
<6>[ 165.633141] s3c_otghcd s3c_otghcd: S3C OTGHCD
<6>[ 165.633231] s3c_otghcd s3c_otghcd: new USB bus registered, assigned bus number 1
<6>[ 165.633383] s3c_otghcd s3c_otghcd: irq 88, io mem 0xec000000
<7>[ 165.883914] usb usb1: default language 0x0409
<7>[ 165.883997] usb usb1: udev 1, busnum 1, minor = 0
<6>[ 165.884065] usb usb1: New USB device found, idVendor=1d6b, idProduct=0002
<6>[ 165.884185] usb usb1: New USB device strings: Mfr=3, Product=2, SerialNumber=1
<6>[ 165.884252] usb usb1: Product: S3C OTGHCD
<6>[ 165.884370] usb usb1: Manufacturer: Linux 3.0.8-gc4191d9 EMSP_OTGHCD
<6>[ 165.884437] usb usb1: SerialNumber: s3cotg
<7>[ 165.884744] usb usb1: usb_probe_device
<7>[ 165.884867] usb usb1: configuration #1 chosen from 1 choice
<7>[ 165.884951] usb usb1: adding 1-0:1.0 (config #1, interface 0)
<7>[ 165.885154] hub 1-0:1.0: usb_probe_interface
<7>[ 165.885222] hub 1-0:1.0: usb_probe_interface - got id
<6>[ 165.885340] hub 1-0:1.0: USB hub found
<6>[ 165.885417] hub 1-0:1.0: 1 port detected
<7>[ 165.885482] hub 1-0:1.0: standalone hub
<7>[ 165.885600] hub 1-0:1.0: ganged power switching
<7>[ 165.885665] hub 1-0:1.0: global over-current protection
<7>[ 165.885731] hub 1-0:1.0: Single TT
<7>[ 165.885850] hub 1-0:1.0: TT requires at most 32 FS bit times (2664 ns)
<7>[ 165.885917] hub 1-0:1.0: power on to power good time: 0ms
<7>[ 165.886043] hub 1-0:1.0: local power source is good
<7>[ 165.886109] hub 1-0:1.0: no over-current condition exists
<7>[ 165.886229] hub 1-0:1.0: enabling power on all ports
<6>[ 165.886297] otg_dbg: in root_hub_feature()::00477
<6>[ 165.886413] => case SetPortFeature -USB_PORT_FEAT_POWER
<6>[ 165.886691] otg_dbg: in s5pc110_otg_drv_probe()::00182
<6>[ 165.886759] => OTG HCD Initialized HCD, bus=C110 OTG Controller, usbbus=1
<4>[ 165.886992] platform_driver_registered
<7>[ 165.985267] hub 1-0:1.0: state 7 ports 1 chg 0000 evt 0000
<6>[ 165.986542] otg_dbg: in otg_handle_interrupt()::00087
<6>[ 165.986608] => Port Interrupt
<6>[ 165.986782] otg_dbg: in process_port_intr()::00276
<6>[ 165.986846] => over current condition is changed
<3>[ 165.989095] otg_err: in otg_power_work()::00065
<3>[ 165.989219] => invalid otghost data

looks like a similar error...