Since the Amazon Fire TV Stick only has a single micro USB port that’s used for power, Amazon chose to disable the On-The-Go (OTG) capabilities of the device. OTG is a specification that allows you to connect USB peripherals, like keyboards and mice, to a micro USB port that is also used for power. Now that the Fire TV Stick is rootable, it’s possible to enable the device’s OTG feature. While rbox was working on getting TWRP custom recovery working on his new Fire TV Stick, he figured out how to enable OTG, so here’s how to do it.
You’re going to need a micro USB OTG cable with power. Here is the exact one I have which I can confirm works with the Fire TV Stick. I was able to connect the Logitech K400 Keyboard and both the keyboard and touchpad worked. I was also able to connect a separate USB keyboard and USB mouse using a USB hub just fine.
I was unable to mount any kind of external storage. I tried StickMount and several OTG “helper” apps with no luck. Also, enabling OTG support does not survive a reboot, so you’ll need to perform these steps again if you reboot your Fire TV Stick.
- Connect your OTG cable to the Fire TV Stick and then connect power to the OTG cable.
- Once the Fire TV Stick has fully booted, connect to it via ADB.
- Run the command:
adb shell - Run the command:
su - Run the command:
echo 1 > /sys/devices/platform/bcmpmu_otg_xceiv/host - Run the command:
exit - Run the command:
exit - You can now connect a USB peripheral to your OTG cable and it should work. Remember, rebooting your Fire TV Stick will disable OTG capabilities, so you’ll have to follow these steps again to re-enable OTG capabilities after rebooting.
Maybe it will with Flirc also. Awesome thanks for the info
I have not tried it yet, but Flirc should work since it emulates a keyboard.
Did you try mounting it manually?
In theory, could we also create a shell script which runs the usb otg commands on boot? I know you could in earlier versions of Android through init.d but not later ones without a third party app.
I have not tried mounting it manually. Once rbox releases pre-rooted ROMs with SuperSU installed, it will be trivial to write a script that enables OTG on boot because SuperSU has a feature that runs any script on boot. I’m sure there are other ways to do it without SuperSU as well.
it will be more useful if USB external storage is functional
since 8G internal fire stick storage might be limited.
Did you try a USB ethernet adapter?
Nice work, looks like this could be put in an init type script and run on boot. Wonder if that could also be baked into recovery.
As for the Flirc comment, it does act like a keyboard and that’s how I manage recovery on my AFTV1 now (unlocked bootloader type). This could be another option on firetv stick if the OTG bit can be started right away.
I have rom tool box light and I used scripter to launch the premade script to do this using simple remote clicks easily. I’ll worry about launch at boot when I’m done testing with it.
I connected an ihome non-powered 3port usb hub and a mouse to it. worked great. I then connect a low power usb ethernet adapter from monoprice and networking went from “wifi ssid” to “wired” but it did not get an ip address. I also tried it without hub same results. perhaps another command similar to enableling otb to do the same for wired or I just dont have a compatible driver. it might be missing a file we can just pilfer from the ftv. awesome mod.
works with k400 and k700 keyboards (with 3port hub and additional mouse at same time)
usb ethernet works. I went to system\about\network and it did not show any mac for ethernet adapter nor dhcp address info.
I ran terminal from romtoolbox and su, “busybox ifconfig” and saw eth0 was given a lease. I tested network connection and it was fine. altthough I could connect to eth0 via adb I could not run “adb shell” so to answer does usb-ethernet work…yes.
hi rp,can you use usb ethernet adapter with ftv stick stable? when i used it with ftv stick , it will reboot after 4m/s (network speed) every time! sorry about my poor english!
Happen to know that somebody in XDA has difficulty to make stickmount working
By disable USB debugging then work?
http://forum.xda-developers.com/fire-tv/general/stickmount-fire-tv-2015-t3266469/post64208451#post64208451
Can the Chromecast power/ethernet adapter work with otg enabled?https://store.google.com/product/ethernet_adapter_for_chromecast
That and some extra USB storage would be great.
https://youtu.be/JL6u_qBaur4
I was hesitant to enable the script to run at boot using rom tool box scripter but I tried it and it worked fine here is the script I used.
filename: EnableOTG
—script begins below do not include this line—-
#!/system/bin/sh
echo 1 > /sys/devices/platform/bcmpmu_otg_xceiv/host
—script ends here do not include this line—–
also this is the usb ethernet adapter that worked for me. I’m sure many others work also. but keep in mind a low power ethernet may be a plus when using a hub.
http://www.monoprice.com/product?p_id=9466
The script is working perfect with rom tool box scripter It survive the reboot Thank you
On a similar note, The Chromecast is in a similar situation, but Google did not disable OTG. Though I’ve only ever got an Ethernet adapter to work.
I’d be grateful if anyone with a working OTG cable for the Stick could measure the resistance between pins 4 & 5 on the micro end and post it.
Many OTGs have 68k or 100k ohms (or even 0!). Some devices expect resistance in a certain range.
Do you have to be rooted in order to do this?
hello, i bought this usb otg cable didnt worked with my mouse/keyboard my mouse get light red but nothing move and the keyboard nothing write into amazon firestick display… any idea why there recomend this one if didnt tested it before? im able if somebody have any idea for fix it? thanks.
Here is my Fire Stick running Flash drive and a Hard drive.
They only seem to work in Es File Explorer.
https://youtu.be/JL6u_qBaur4
I have a Fire Stick running OS version 5.2.1.1 which I ubderstand from AFTV News http://www.aftvnews.com/start/ is not rootable. Therefore I guess the procedure above cannot be implemented. Is there another way to attach a keyboard to the Fire TV Stick
Hi, anyone tried or know how to get a wired Xbox 360 controller working with fire stick
Tried to get otg capabilities enabled on my rooted fire stick tv running is 5.0.5.1 , could not run command su and it said does not exist, so tried command step 5 and said do not have access permission? Any suggestions or help please?
Is it possible to configure a static IP for the USB Ethernet. I’ve set a static DHCP address for it onmy router but an actual static IP would be better.
u guys do know 2nd gen ftv sticks support otg now
ok.
When i go onto network your picture shows a mac address for the lan aswell as wifi which mine doesnt and then it days unable to connect when i go through the terminal set up and type in ‘adb connect …> Any advice thankyou!
I had the same problem
I have firestick version 5.0.5 and just rooted using kingoroot 3.1, Then I used the above guide to connect logitech K400 plus but it’s not working. Any advice ?
When I get to step 5,
(echo 1 > /sys/devices/platform/bcmpmu_otg_xceiv/host), it says no such file found. I am lost now! please help
When I get to step 5,
(echo 1 > /sys/devices/platform/bcmpmu_otg_xceiv/host), it says no such file found. I am lost now! please help
Did you get an answer (I have da same prob)?
I have Fire OS 5.2.6.3 and folder /bcmpmu_otg_xceiv
does not exist
I had the same problem
My Firestick 2 is not rooted and using the OTG cable referenced in this article works perfectly with a Logitech K830 keyboard.
Thanks for this great info. I use a script to autorun at start, works perfect. Combined with mouse input through the original remote it´s way better as stock :-)
I use a 4-port USB hub, which has power to the host (Logilink), so I can power the FireTV stick as well as plug in the USB-ethernet adapter and a keyboard with integrated touchpad.
The only thing I miss now, is to be able to plug in an extra USB stick or disk drive. Won´t be recognized by the stick, tried ES Explorer and stuff, to no avail…
I did everything thing right and when I get to the “side” command it says it’s not found.