[HTC One X] Alex240188:
No you are correct, HTC JB has OTG working fine without external power

I pulled some data from kmsg which is detecting the device plug in but seems to fail one the i2c bus

To be fair i dont think that there is much we can do about it as we are still based on a 2.X kernel

if i recall correctly this also happened with EPRJ Kernel based on 2.X but when they released their kernel based on 3.4.X they managed to get host mode working

<6>[ 1345.394604] [CABLE] usb: id interrupt

<6>[ 1345.514300] [CABLE] cable_detect_get_type: id pin high

<6>[ 1345.514887] [CABLE] cable_detect_get_type prev_type -1, type 0, stable_count 0

<6>[ 1345.634294] [CABLE] cable_detect_get_type: id pin high

<6>[ 1345.634622] [CABLE] cable_detect_get_type prev_type 0, type 0, stable_count 1

<6>[ 1345.754219] [CABLE] cable_detect_get_type: id pin high

<6>[ 1345.754551] [CABLE] cable_detect_get_type prev_type 0, type 0, stable_count 2

<6>[ 1345.874218] [CABLE] cable_detect_get_type: id pin high

<6>[ 1345.874547] [CABLE] cable_detect_get_type prev_type 0, type 0, stable_count 3

<7>[ 1345.875095] [DISP]D2 To D3 mode

<6>[ 1345.876704] [CABLE] cable_detect_handler ID pin 1, type 0

<6>[ 1345.877305] Wake9 for irq=370

<4>[ 1345.994528] tegra-i2c tegra-i2c.3: I2c error status 0x00000008

<4>[ 1345.994854] tegra-i2c tegra-i2c.3: no acknowledge from address 0x50

<4>[ 1345.995406] tegra-i2c tegra-i2c.3: Packet status 0x00010009

<3>[ 1345.996882] tegradc tegradc.1: error reading edid

<6>[ 1346.474581] [PWR_STORY][CPUIDLE]0 us, 834224176 us, 0 us, 84257460 us, 0 us, 60786740 us, 0 us, 19193069 us

<6>[ 1347.666850] [TMS] cpu temp = 32.50, local temp = 30, gpio = 1

<6>[ 1348.003827] [TP] S1@397, 1094

<6>[ 1348.667810] [TP] E1@752, 1093

<7>[ 1349.042374] tegra CPU: force EDP limit 1400000 kHz

<4>[ 1349.042622] CPU1: Booted secondary processor

<6>[ 1349.044202] Switched to NOHz mode on CPU #1

<6>[ 1349.053634] [CPUHP] turn on CPU 1, online CPU 0-3=[1100]

<5>[ 1350.026934] CPU1: shutdown

<6>[ 1350.029715] [CPUHP] turn off CPU 1, online CPU 0-3=[1000]

<6>[ 1351.490567] [PWR_STORY][CPUIDLE]0 us, 837333466 us, 0 us, 84885354 us, 0 us, 60786740 us, 0 us, 19193069 us

<6>[ 1352.018878] [DVFS] each freq runs (ms): 0,1535,101,5436,937,277,0,140,80,60,0,100,254,1323

<6>[ 1352.264848] touch watchdog

<6>[ 1353.899927] [CABLE] usb: id interrupt

<6>[ 1354.014293] [CABLE] cable_detect_get_type: id pin low

<6>[ 1354.016904] [CABLE] [1] accessory adc = 0

<6>[ 1354.019349] [CABLE] [2] accessory adc = 68

<6>[ 1354.019542] [CABLE] cable_detect_get_type prev_type 0, type -1, stable_count 0

<6>[ 1354.134369] [CABLE] cable_detect_get_type: id pin low

<6>[ 1354.137031] [CABLE] [1] accessory adc = 0

<6>[ 1354.139428] [CABLE] [2] accessory adc = 68

<6>[ 1354.139543] [CABLE] cable_detect_get_type prev_type -1, type -1, stable_count 1

<6>[ 1354.254240] [CABLE] cable_detect_get_type: id pin low

<6>[ 1354.256940] [CABLE] [1] accessory adc = 0

<6>[ 1354.259814] [CABLE] [2] accessory adc = 68

<6>[ 1354.260124] [CABLE] cable_detect_get_type prev_type -1, type -1, stable_count 2

<6>[ 1354.374226] [CABLE] cable_detect_get_type: id pin low

<6>[ 1354.376903] [CABLE] [1] accessory adc = 0

<6>[ 1354.379527] [CABLE] [2] accessory adc = 68

<6>[ 1354.380092] [CABLE] cable_detect_get_type prev_type -1, type -1, stable_count 3

<7>[ 1354.380394] [DISP]D2 To D3 mode

<6>[ 1354.382253] [CABLE] cable_detect_handler ID pin 0, type 0

<6>[ 1354.382576] Wake9 for irq=370

<4>[ 1354.494541] tegra-i2c tegra-i2c.3: I2c error status 0x00000008

<4>[ 1354.495117] tegra-i2c tegra-i2c.3: no acknowledge from address 0x50

<4>[ 1354.495423] tegra-i2c tegra-i2c.3: Packet status 0x00010009

<6>[ 1354.497114] [DISP]hdmi_edid_monitor_desc(509) data type 00 of detailed timing descriptor not supported.

<6>[ 1354.497680] [DISP]hdmi_edid_monitor_desc(509) data type 00 of detailed timing descriptor not supported.

<6>[ 1354.498238] [DISP]hdmi_edid_monitor_desc(509) data type 00 of detailed timing descriptor not supported.

<6>[ 1354.498550] [DISP]hdmi_edid_monitor_desc(509) data type 00 of detailed timing descriptor not supported.

<3>[ 1354.499156] tegradc tegradc.1: error reading edid

<6>[ 1356.492435] [PWR_STORY][CPUIDLE]0 us, 840706429 us, 0 us, 84885354 us, 0 us, 60786740 us, 0 us, 19193069 us

<6>[ 1357.686955] [TMS] cpu temp = 32.50, local temp = 30, gpio = 1

<6>[ 1359.764863] touch watchdog

<6>[ 1360.935286] [CABLE] usb: id interrupt

<6>[ 1361.054697] [CABLE] cable_detect_get_type: id pin high

<6>[ 1361.055961] [CABLE] cable_detect_get_type prev_type -1, type 0, stable_count 0

<6>[ 1361.174697] [CABLE] cable_detect_get_type: id pin high

<6>[ 1361.175615] [CABLE] cable_detect_get_type prev_type 0, type 0, stable_count 1

<6>[ 1361.294518] [CABLE] cable_detect_get_type: id pin high

<6>[ 1361.295833] [CABLE] cable_detect_get_type prev_type 0, type 0, stable_count 2

<6>[ 1361.414472] [CABLE] cable_detect_get_type: id pin high

<6>[ 1361.415740] [CABLE] cable_detect_get_type prev_type 0, type 0, stable_count 3

<7>[ 1361.418168] [DISP]D2 To D3 mode

<6>[ 1361.421116] [CABLE] cable_detect_handler ID pin 1, type 0

<6>[ 1361.423220] Wake9 for irq=370

<6>[ 1361.521405] [PWR_STORY][CPUIDLE]0 us, 843956982 us, 0 us, 84885354 us, 0 us, 60786740 us, 0 us, 19193069 us

<4>[ 1361.534731] tegra-i2c tegra-i2c.3: I2c error status 0x00000008

<4>[ 1361.534922] tegra-i2c tegra-i2c.3: no acknowledge from address 0x50

<4>[ 1361.535253] tegra-i2c tegra-i2c.3: Packet status 0x00010009

<3>[ 1361.536522] tegradc tegradc.1: error reading edid

<6>[ 1362.555794] [DVFS] each freq runs (ms): 0,6580,447,1993,1339,137,0,40,0,0,0,0,0,0