USB Host Mode - Hero CDMA General

I am trying to use my HTC Hero as an embedded linux device (more or less) to read the serial port of a UPS in one of the server rooms I have to manage. I know that it requires USB Host Mode to be enabled but don't know where to start to get this working. This could be a really cool project for me and I can devote some time to it because it is work related. I just need someone to point me in the right direction. Any help will be greatly appreciated.
Thanks
Matt

what version of linux are you running.

Code:
# uname -a
Linux localhost 2.6.29.6-CyanogenMod #1 PREEMPT Wed Mar 9 16:21:31 EST 2011 armv6l GNU/Linux
I am running CyanogenMod 7.0.3 Stable currently

Related

linux on htc magician

i've been trying to find who is working on this project?
whats the updates?
where are the updates??
i have found only old post and threads about this
and old download links.
I am working on the kernel, but we need some more people for userspace support (be that android, openmoko, or just plain and simple angstrom images - making dialer and sms applications etc. work). The best place to get current information about linux on magician is the #htc-linux IRC channel on freenode.net.
cool
ok cool i dont have much time to dedicate now as i'm involve with other projects i may be able to help you with userlands at the end of the year i pm you when i'm ready
really excited about this
This project has died ? or?
andor44 said:
This project has died ? or?
Click to expand...
Click to collapse
nope just lacking someone for the userland
ph5 is working on the kernel
How is the kernel going i would like so see linux run on magican
check
http://forum.xda-developers.com/showthread.php?t=369149
something going on there
lock n' load marines ;-)
I know my way around tweaking/hacking HW to get working under linux...
did to few times back with some stuff on adestop PC.
1. I need a running kernel
2. A terminal
3. SDK and IDE for userland tools (GNU suite)
4. A ipk repository to leech from
5. duded and fellows of all sorts
6. time
Already done for the 1 and partly for the 2
shall we?
progress
although i liked qtopia better, i put that Armostrong thingie (foun in the tmp folder of our ftp server here...
The kernel is 2.6.21 hh20
1. and it boots to the gui
2. it let make me calls (777 answered right)
3. it shows incoming calls (although won't pick up the hook)
4. It begun showing messages (half way through upgrade)
5. It has ateminal and a touch type keyboard (querty lol)
6. it let me define usb0 network device
7. It let me log in via ssh as root (pasword is empty: just hit enter)
then i fiddled with the ipkg tool:
I managed to let it run trough squid proxy when i couldn't make it route...
file: /etc/ipkg.conf
Code:
# Must have one or more source entries of the form:
#
# src <src-name> <source-url>
#
# and one or more destination entries of the form:
#
# dest <dest-name> <target-path>
#
# where <src-name> and <dest-names> are identifiers that
# should match [a-zA-Z0-9._-]+, <source-url> should be a
# URL that points to a directory containing a Familiar
# Packages file, and <target-path> should be a directory
# that exists on the target system.
# Proxy Support
#option http_proxy http://proxy.tld:3128
#option ftp_proxy http://proxy.tld:3128
option http_proxy http://172.31.0.3:3128
option ftp_proxy http://172.31.0.3:3128
#option proxy_username <username>
#option proxy_password <password>
# Offline mode (for use in constructing flash images offline)
#option offline_root target
dest root /
lists_dir ext /var/lib/ipkg
172.31.0.3:3128 is the URL of my proxy - edit as appropriate before storing to the sd card
If all goes well i promise...
... i make an image (128MB) of the whole SD card i used...
;-)
Ah harrr sharky
a thought beastie this one !
got to see the end of the upgrade of ipkg and got the device hang...
another hard reset ahoy
:-(
see if it boots again?
(stay tuned...)
at least it boots...
no X this time ?
just the blank screen...
have to troubleshoot
???? got a funny menu on the screen and couldn't get pass it?
boy a wish someone here had any clue
cest73 said:
???? got a funny menu on the screen and couldn't get pass it?
boy a wish someone here had any clue
Click to expand...
Click to collapse
it seems it has problem with default calibration:
the X appears but the calibrator fails :-(
EDIT:
nope, it was DBUS - failing to start due of missing users!
was a bit offline these days my magician is broken some stupid chip burn out after years of good service i ve sent it to taiwan for repair but i have little hope
i ll see if i can buy another one on ebay these days
we should talk on irc one of these days cest73 (althought i am usually online at weird hours)
elivildarkknight,
Im +01h off Greenwich, so we shall try it?
OTOH:
the main issue regarding useable Liunx is:
1. A fast hard-reset able ROM (bare 2003SE) [i don't have now]
2. A SD card reader [i have]
3. A decent image of a working kernel [have the 2.6.21 hh20 of Armstrong's 2008.1]
4. A way to make magician respond to a ssh log in upon USB connect [i seek the way right now]
5. A decent userspace stack able to bring all magician's HW to life [once we can make it 'network']
6. A decent environment before the X or any WM is started for fallback [this can be done IMHO]
7.
try to get in touch with phillip zabel he is working on the kernel and can help you on the image there is a working qtopia image floating around you can try to see the config they used for the display and other stuff a booting kernel with an image on sd should be ok for a start
the developers of blueangel also may help i ll try to see who is working on there image
i'm at +5 GMT the main problem is that i have few free time because of exams and real life
my magician is going to Taiwan for repair now so i m left with the hermes right now
will be happy to help you anyways
in april i'll be more on irc try to keep us update on your work
roger to that
ok
we shall take the time then...
i thought about a ncurses based teminal keyboard emulation controlled with the jog dial...
continued troubleshooting for magician...
it appears i miss the calibration procedure somehow
As i can't use it as a normal phone under moko yet, i'm limited for how long i'm able to play with it...
I will try again today to get at least something launched over that X...
I somehow like more the QT stack?
progress report...
My distro is Slackware so i found this:
http://wiki.openmoko.org/wiki/USB_Networking#Slackware_.28tested_with_12.1.29
Does not even work, but the page was useful:
When i connect the Magician while running Linux, i get to a terminal and become root:
Code:
# dmesg
there i see that usb0 is now available:
Code:
usb0: unregister 'cdc_subset' usb-0000:00:1d.1-2, Linux Device
usb 3-2: new full speed USB device using uhci_hcd and address 19
usb 3-2: configuration #1 chosen from 2 choices
usb0: register 'cdc_subset' at usb-0000:00:1d.1-2, Linux Device, 16:ce:a6:75:bd:58
usb 3-2: New USB device found, idVendor=0525, idProduct=a4a2
usb 3-2: New USB device strings: Mfr=1, Product=2, SerialNumber=0
usb 3-2: Product: RNDIS/Ethernet Gadget
usb 3-2: Manufacturer: Linux 2.6.21-hh20/pxa27x_udc
so i manually bring up the usb0 from my host:
Code:
# ifconfig usb0 192.168.0.200
# ifconfig usb0 up
# ping 192.168.0.202 -c4
PING 192.168.0.202 (192.168.0.202) 56(84) bytes of data.
64 bytes from 192.168.0.202: icmp_seq=1 ttl=64 time=1.25 ms
64 bytes from 192.168.0.202: icmp_seq=2 ttl=64 time=1.96 ms
64 bytes from 192.168.0.202: icmp_seq=3 ttl=64 time=1.76 ms
64 bytes from 192.168.0.202: icmp_seq=4 ttl=64 time=1.56 ms
#
You have to know the rest for the routing to the internet to be successful...
i hope this helps a bit?
adding the parameter
Code:
psplah=false
to the default.txt:
Code:
set KERNEL zImage
set CMDLINE "root=/dev/mmcblk0p2 console=tty0 rootdelay=1"
bootlinux
to be:
Code:
set KERNEL zImage
set CMDLINE "root=/dev/mmcblk0p2 console=tty0 rootdelay=1 [U]psplah=false[/U]"
bootlinux
disables the nice spalsh screen while boot-up, allowing one to see why the darn thing is hanging...

USB to Ethernet Dongle

Has anybody tried one of the USB 2 Ethernet dongles on the A500 yet? I am interested but there is no reason to fork out the money if it doesn't work.
Please let me know.
Thank you
With the correct module, this one works fine:
http://www.amazon.com/gp/product/B00484IEJS/ref=oh_o02_s00_i00_details
Module for that is (asix.ko) in my post below, if you are using stock kernel:
http://forum.xda-developers.com/showthread.php?t=1297620
fincan said:
With the correct module, this one works fine:
http://www.amazon.com/gp/product/B00484IEJS/ref=oh_o02_s00_i00_details
Module for that is (asix.ko) in my post below, if you are using stock kernel:
http://forum.xda-developers.com/showthread.php?t=1297620
Click to expand...
Click to collapse
Hi,
A little more help please....
I have the recommended usb network interface, running 3.2 w/root, copied over and loaded your asix.ko and did a successful insmod on it. The device seems live (power light and link light are active).
What do I need to do to start the network connection on the A500?
Thanks!
Hi,
this might help you from the transformer forum
http://forum.xda-developers.com/showthread.php?t=1274656
http://forum.xda-developers.com/showthread.php?p=16782015
/mm
monki-magic said:
Hi,
this might help you from the transformer forum
http://forum.xda-developers.com/showthread.php?t=1274656
http://forum.xda-developers.com/showthread.php?p=16782015
/mm
Click to expand...
Click to collapse
Thanks!
I ended up using these instructions from the thread:
Copy the asix.ko to '/system/lib/modules/'
After that I created two scripts using Script Manager
First one to load the module:
insmod /system/lib/modules/asix.ko
Then a second to startup the network (dhcp and hardcoding DNS to google DNS servers):
dhcpcd eth0
setprop net.dns1 8.8.8.8
setprop net.dns2 8.8.4.4
Thank you fincan for the reply... I tried loading the module and it failed with this in the dmesg:
<3>[ 1523.187808] asix: version magic '2.6.36.3+ SMP preempt mod_unload ARMv7 ' should be '2.6.36.3HoneyVillain-3.7+ SMP preempt mod_unload ARMv7 '
Obviously I am running HoneyVillain and was just giving it a stab to see if it would work.
Think you can work some magic for me on this?
Many thanks again.
h0mewreck3r said:
Thank you fincan for the reply... I tried loading the module and it failed with this in the dmesg:
<3>[ 1523.187808] asix: version magic '2.6.36.3+ SMP preempt mod_unload ARMv7 ' should be '2.6.36.3HoneyVillain-3.7+ SMP preempt mod_unload ARMv7 '
Obviously I am running HoneyVillain and was just giving it a stab to see if it would work.
Think you can work some magic for me on this?
Many thanks again.
Click to expand...
Click to collapse
Give the attached one a shot and let me know if it works, I have simply changed the kernel version name to HoneyVillain, it should work just fine unless there is a change in the kernel source code on the Honey Villain rom, which I doubt.
Here is the new error:
<4>[14850.069881] asix: Unknown symbol __aeabi_unwind_cpp_pr0 (err 0)
<4>[14850.074998] asix: Unknown symbol __aeabi_unwind_cpp_pr1 (err 0)
Looks like it is getting more involved.
If you have the time, it would be helpful but if not, I understand.

ADVICE/SUPPORT : UVC Camera on Samsung Galaxy Tab 10.1- No device Node??

HI,
I am trying to interface the UVC Camera to the Samsung Galaxy Tab 10.1(GT-7510) , but I am not able to see the device node getting created in the shell( I have installed the Linux terminal Shell Application) and rooted the device using this Video .Can somebody plz tell/advice how I can achieve it and access the device Node or at-least get it created.
Following is the log on dmesg :
usb 1-1 new high speed USB device using tegra-ehci and address 97
hub 1-0:1.0 unable to enumerate USB device on port 1 ,
usb 1-1:device v0ac8 p3420 is not supported
On My Laptop I get this output on Dmesg :
[12307.364237] uvcvideo: Found UVC 1.00 device Venus USB2.0 Camera (0ac8:3420)
[12307.366108] input: Venus USB2.0 Camera as /devices/pci0000:00/0000:00:1d.0/usb2/2-1/2-1.1/2-1.1:1.0/input/input14
[12308.537059] usbcore: registered new interface driver snd-usb-audio
also i can see the camera getting blinked on connection which proves that it is getting the power-supply and getting connected with the system.
I think there is a support for UVC USB devices in the kernel (not sure) otherwise I am ready with the Kernel For Samsung Tab 10.1 (GT-7500 (Higher Version: GT-7510)) from here .(GT-P7500_MEA_Opensource.zip (requires Login).
Plz assist.
Rgds,
Softy
You seem to know a bit about what you're doing. I'm not really familiar with this device. I did a search and did not find anyone who has don't this yet. The first priority is to get a Linux device in /dev/ folder. This is generally handled by a device driver and a udev rule. Try the newer kernel if you can. The android 4.0 ics has a Linux 3.x kernel. See if switching to ics helps. Try compiling a custom kernel with all modules. Once you have a device, try using SSH or sftp from your desktop under Linux to stream from that device with vlc or another media player.
Do you have any examples of this device in use on mobile Linux? It may require writing an entire kernel driver.
HI,
Yes that is the same line of thinking for us as well.We are trying to compile the kernel and load it .- Ongoing
I believe only the zImage is the one which is to be flashed.But I am little scared to do this.Couldn't find the instructions to loading the Zimage even though I can compile one.
Rgds,
Saurabh
softy007 said:
HI,
Yes that is the same line of thinking for us as well.We are trying to compile the kernel and load it .- Ongoing
I believe only the zImage is the one which is to be flashed.But I am little scared to do this.Couldn't find the instructions to loading the Zimage even though I can compile one.
Rgds,
Saurabh
Click to expand...
Click to collapse
Flash it with Heimdall, even if it won't work you will be still able to get into download mode of bootloader (which you aren't supposed to flash) and reflash the kernel with stock one.

[ROOT] Amazon Fire TV Gen 2 (4k)

There is an updated thread now for rooting the AFTV2 that supports both 5.0.3.1 and 5.0.4 and maybe others in the future, see http://forum.xda-developers.com/fire-tv/general/root-amazon-fire-tv-2-updated-t3277556. The new method is simpler than this method and requires less to download and less steps to run.
To be safe run checkver.py every time you handshake since 5.0.4 is starting to roll out! Checkout the 5.0.3.1 tag in order to use this older method.
If you were able to root your AFTV2 we'd appropriate if you report your success on the poll located here.
NOTE: Root was obtained a few weeks ago so... this procedure is not the most time efficient, but it is just a few simple steps that anyone with a technical background can follow. There are ideas and some work in progress to make it easier. It depends also on serial port stability, which is somewhat random luck. Linux experience will be beneficial. The usual disclaimers apply, which means this rooting procedure comes with some risks and the scripts involved haven't been tested in all environments. Any harm that may come from rooting your device using this procedure is at your own risk and I assume no responsibility for any damage it may cause. I will do my best to help you get through it and recover if possible.
Root the Device
It's taken quite a bit of effort, but I've finally managed to create a pre-rooted system image (as well as backup the original) and provide a semi-efficient way to flash the rooted system image. Before attempting any of the steps listed below YOU MUST BE RUNNING 5.0.3.1. You should also have a unmodified/pristine system partition. You would probably know if you had any modifications and at this point that would be uncommon. If the patching fails for some reason just power off the device, reboot your computer (resets the serial port buffer), start the handshake script, then turn on the device. Once the handshake completes run the patching command again. There is no harm running the patching command two or more times. If it keeps hanging try a different computer.
To get started you will need a system that meets the following requirements:
Linux (Mac OS X or Windows w/ changes)
Python 3.x
PySerial
sudo yum install python3-pyserial # Fedora or RedHat
sudo apt-get install python3-serial # Ubuntu or Debian
USB Male A to Male A cable
R/W access to /dev/ttyACM0 (or use sudo)
ADB USB access (optional, but helpful)
Stop ModemManager (if you have it setup, which blocks handshaking)
Now run the following sequence of commands:
Code:
git clone --branch 5.0.3.1 https://gitlab.com/zeroepoch/aftv2-tools.git
cd aftv2-tools
wget http://download.zeroepoch.com/aftv2/5.0.3.1/system.root.img.gz
wget http://download.zeroepoch.com/aftv2/5.0.3.1/system.diff.gz
gunzip system.root.img.gz
gunzip system.diff.gz
adb reboot ; ./handshake.py # or restart but run ./handshake.py first
./checkver.py # STOP if it reports NO!
./patch_mmc.hs 0x00000000058e0000 system.root.img system.diff # takes ~2 hours
# last address is 0x50dce600
For Macs (see post #115, thanks @ians325) to satisfy the requirements above you will need to install python 3.5.0 for Mac OS X from python.org then run "sudo pip3 install pyserial" to install pyserial. Instead of "wget $URL" use "curl -O $URL".
Windows is working now, but it's constantly improving to make it easier for novice users. The bash script has been ported to a batch file (no cygwin needed) and the serial port has some auto-detection built in now. The files needed for Windows have already been added to the repo but the README is constantly evolving. @ImCoKeMaN (big thanks) and myself are working to improve the process and make it easier for Windows users.
Anyone interested in rooting using an Ubuntu VM should watch the YouTube video by @ultimate_spy_binns, https://www.youtube.com/watch?v=CZQqLoO6ojM. There is also a script to help automate the process if you are doing this on an Ubuntu live CD/USB found here (by @BagiMT).
To test that root is working you should first connect to adb shell and then run the command "su". You will need to accept a prompt on the screen (HDMI port) at least once. The shell should change from a dollar-sign ($) prompt to a hash (#) prompt.
If you would like to disable updates after rooting you can use the following commands:
Code:
adb shell
su
pm disable com.amazon.device.software.ota
To go back to stock in case you want to update or for whatever other reason:
Code:
wget http://download.zeroepoch.com/aftv2/5.0.3.1/system.orig.img.gz
gunzip system.orig.img.gz
adb push system.orig.img /data/local/tmp
adb shell
su
pm enable com.amazon.device.software.ota
dd if=/data/local/tmp/system.orig.img of=/dev/block/platform/mtk-msdc.0/by-name/system bs=1m
sync
reboot
I don't always have the best luck transferring large files over ADB so another option is to copy the uncompressed image file to a microSD card and changing the path to /storage/sdcard1/system.orig.img. Be extremely careful that you have the right path, that the file you are reading exists, and that the file is around 1.2 GB in size. Otherwise you may potentially trash your system.
Background Info
This root method works by rebooting the device and halting the boot process at the MediaTek preloader. Once halted at the preloader we can use the preloader binary API to send a series of MMC commands to the flash chip which allows 512 byte blocks to be read and written using a simple FIFO. Since we have both the original and modified system images we can generate a list of blocks that are different between the two images and only patch those blocks. This means we need to write less than 10 MB instead of 1.2 GB. If we had to send the entire system image at the speeds the preloader is limited to it would take about 2 weeks. If for some reason the system partition becomes unbootable that would be your only option to recover right now. By sending just the differences the patching only takes about 2 hours. There are ways to speed this up (about 5-10 minutes instead), but you'd need to obtain limited root access first using a much much more complicated procedure. I choose to provide instead a slower but much simpler series of commands.
The MT preloader is a process that runs before the regular bootloader (lk/fastboot) and of course before the kernel boots. It only shows up for about 3 seconds. Unfortunately the preloader is writable and could potentially be updated. The entire boot chain is cryptographically signed from what I've been able to inspect including the preloader. An unlocked bootloader would most likely be needed to flash a custom kernel (no kexec built-in of course, but modules/device drivers can be loaded) and create ROMs not based on stock. @rbox has been working on getting kexec working as a module but no ETA yet. So in conclusion the tools here allow you to modify the flash contents and using these facilities we have add SuperSU binaries to the system partition.
Anyone interested in how root was obtained should look at the history starting with this post. You should also read the README file from the aftv2-tools git repo. Also feel free to PM me if you have any questions.
Tips
If you want to disable the pop-up message when becoming root you can change notify=1 to notify=0 in /data/data/eu.chainfire.supersu/files/supersu.cfg. You need to reboot the device after making this change. It's also suggested to make the file read-only because it seems to get reset sometimes. (Thanks @ultimate_spy_binns)
Special Thanks
@qwertytical
@budokaiboy
great news
i never powered on my unit - awaiting root
can we have a 5.0.3.1 image to safely flash before root
otherwise the system might update to different version
now that rooting is out
amazon might be quick ...
reiteravi said:
great news
i never powered on my unit - awaiting root
can we have a 5.0.3.1 image to safely flash before root
otherwise the system might update to different version
now that rooting is out
amazon might be quick ...
Click to expand...
Click to collapse
Yeah, mine pre-ordered one is still in a box so I'd need to update it too. I guess I can do that tonight before a new version comes out.
reiteravi said:
great news
i never powered on my unit - awaiting root
can we have a 5.0.3.1 image to safely flash before root
otherwise the system might update to different version
now that rooting is out
amazon might be quick ...
Click to expand...
Click to collapse
Unfortunately you will need to do a normal update first before patching the system partition. It just takes too long to flash a full system image, original or modified, using the methods we have available to us now. Also the boot partition and other partitions are updated with each OTA. I hope we can continue to provide rooted versions of updated system images, but as you know there is no guarantee of that. I'd update now before there is any new updates and then root it. We could in theory root the older versions as well and even before first boot, but without the OTA updates and applying them in reverse I can't go back and patch the older releases. I strongly think the method used to write the system partition can not be fixed since I believe the preloader code is in a ROM.
Mac Update
A few notes for Mac users willing to experiment a little:
I installed python 3.5.0 for Mac OS X from python.org and then ran "sudo pip3 install pyserial" to install pyserial for python 3.x. The final change I needed to make was to change PORT in handshake.py and read_mmc.py/write_mmc.py (only tested reading the boot partition, but everything else should work). In my case the PORT was /dev/cu.usbmodem1430. The device filename seems to be based on the USB port it's connected to. I'm not sure if there is an easier way to find the device filename besides scanning /dev and looking for new devices matching a given pattern. Maybe others on this forum have some better ideas. The final caveat was I need to unplug and replug the USB cable after the handshake completed otherwise the read_mmc.py script would hang on the first read.
I succeeded in rooting mine! For comparison purposes, here's the md5sums of my partitions:
Code:
0e450c032ddce170667ba3ddc26cb960 DKB
a3ad800f012a153953b403ef1fa36e14 EXPDB
d693da95eb68b40e4315333bcf74918b KB
50f24ce4c7ac388b33310bff6f79636a LOGO
59071590099d21dd439896592338bf95 MISC
f9b5ef697fde92c42bbbec35e5a6cad4 PRO_INFO
8a9d058f87711c2e8ccc698647f5026b TEE1
eda2733e1d0214873d9cb9d78c68425f TEE2
97a2ccdb7a02838b26b9a57e4f31d51d boot
fbd20aa58cd63c07392080cad7627e18 lk
74f0bac463bae8141acf20594987a559 recovery
a06c3d6a8c73923ed5c38b479c4410d3 system
So my DKB, KB, and system partitions are different from yours.
NaturalBornHaxor said:
I succeeded in rooting mine! For comparison purposes, here's the md5sums of my partitions:
Code:
0e450c032ddce170667ba3ddc26cb960 DKB
a3ad800f012a153953b403ef1fa36e14 EXPDB
d693da95eb68b40e4315333bcf74918b KB
50f24ce4c7ac388b33310bff6f79636a LOGO
59071590099d21dd439896592338bf95 MISC
f9b5ef697fde92c42bbbec35e5a6cad4 PRO_INFO
8a9d058f87711c2e8ccc698647f5026b TEE1
eda2733e1d0214873d9cb9d78c68425f TEE2
97a2ccdb7a02838b26b9a57e4f31d51d boot
fbd20aa58cd63c07392080cad7627e18 lk
74f0bac463bae8141acf20594987a559 recovery
a06c3d6a8c73923ed5c38b479c4410d3 system
So my DKB, KB, and system partitions are different from yours.
Click to expand...
Click to collapse
That is awesome news! The first confirmed case I've heard of someone else repeating my success
About the DKB and KB partitions being different it makes me wonder what those partitions are for? I didn't include cache and userdata in the MD5SUM of course, which you noticed, because those change all the time. NVRAM when I looked inside appeared to have a few things that looked to be device specific. The system partition being different is actually expected because I found every time I rebooted my system partition changed checksums. Also that is the MD5SUM of the unmodified system partition. I noticed this weird MD5SUM behavior when I was first gaining root and doing some sanity checks. It happens right after daemonsu is started. My best guess is that the SuperSU tools mount the system r/w quickly and that causes the last mounted timestamp to change. Don't know for sure what causes it, but don't worry that's not unexpected. The main reason I kept those hashes in the repo was so when the next version comes out I know which partitions were changed and need to be updated by users who wish to maintain root.
------------------SOLVED-----------------
Please read on if you have problems with handshake script looping forever...
-----------------------------------------------
Hi zeroepoch,
meanwhile I received my Fire TV 2 and tried your scripts but unfortunately without success.
As far as I can see, there are 2 problems:
- The /dev/ttyACM0 device appears on rebooting the Fire TV, but only for some 100th of a second, then it disconnects again.
- If I give it another try, the device will appear as /dev/ttyACM1, next time /dev/ttyACM2, aso.. So I either have to update the handshake script for every try or reboot my computer (then it starts with /dev/ttyACM0 again).
When I first tried it, the handshake-script ran forever, it just missed the short time of availability of /dev/ttyACM0. So I reduced the sleep-timeout in the script from 0.25 to 0.001. Now the handshake script detects the serial device but runs into an I/O Error during one of the next steps (each time different, seems to be a "race condition").
Can you offer any advice? Could my Laptop be too slow somehow or is there some trick to make the Fire TV keep the port open for a longer time?
Greetings, Christian
Code:
shell:
[email protected]:~/aftv2-tools# adb reboot ; ./handshake.py
* daemon not running. starting it now on port 5037 *
* daemon started successfully *
Traceback (most recent call last):
File "./handshake.py", line 17, in <module>
dev = serial.Serial(PORT, BAUD)
File "/usr/lib/python3/dist-packages/serial/serialutil.py", line 261, in __init__
self.open()
File "/usr/lib/python3/dist-packages/serial/serialposix.py", line 282, in open
self._reconfigurePort()
File "/usr/lib/python3/dist-packages/serial/serialposix.py", line 413, in _reconfigurePor t
termios.tcsetattr(self.fd, TERMIOS.TCSANOW, [iflag, oflag, cflag, lflag, ispeed, ospeed , cc])
termios.error: (5, 'Input/output error')
Code:
/var/log/syslog;
Nov 11 11:25:41 DeepThought systemd[1111]: Reached target Default.
Nov 11 11:25:41 DeepThought systemd[1111]: Startup finished in 15ms.
Nov 11 11:27:28 DeepThought kernel: [ 217.460463] usb 8-2: USB disconnect, device number 2
Nov 11 11:27:31 DeepThought kernel: [ 220.608049] usb 8-2: new high-speed USB device number 3 using ehci-pci
Nov 11 11:27:31 DeepThought kernel: [ 220.741857] usb 8-2: New USB device found, idVendor=0e8d, idProduct=2000
Nov 11 11:27:31 DeepThought kernel: [ 220.741860] usb 8-2: New USB device strings: Mfr=1, Product=2, SerialNumber=0
Nov 11 11:27:31 DeepThought kernel: [ 220.741862] usb 8-2: Product: MT65xx Preloader
Nov 11 11:27:31 DeepThought kernel: [ 220.741864] usb 8-2: Manufacturer: MediaTek
Nov 11 11:27:31 DeepThought mtp-probe: checking bus 8, device 3: "/sys/devices/pci0000:00/0000:00:1d.7/usb8/8-2"
Nov 11 11:27:31 DeepThought mtp-probe: bus: 8, device: 3 was not an MTP device
Nov 11 11:27:31 DeepThought kernel: [ 220.855737] cdc_acm 8-2:1.1: ttyACM0: USB ACM device
Nov 11 11:27:31 DeepThought kernel: [ 220.884047] usbcore: registered new interface driver cdc_acm
Nov 11 11:27:31 DeepThought kernel: [ 220.884050] cdc_acm: USB Abstract Control Model driver for USB modems and ISDN adapters
Nov 11 11:27:31 DeepThought kernel: [ 220.924931] usb 8-2: USB disconnect, device number 3
Nov 11 11:27:31 DeepThought ModemManager[511]: <warn> (ttyACM0): tcgetattr() error: 5
Nov 11 11:27:31 DeepThought ModemManager[511]: <warn> (ttyACM0): port attributes not fully set
Nov 11 11:27:31 DeepThought kernel: [ 220.928861] cdc_acm 8-2:1.1: failed to set dtr/rts
Nov 11 11:27:31 DeepThought ModemManager[511]: <info> (tty/ttyACM0): released by modem /sys/devices/pci0000:00/0000:00:1d.7/usb8/8-2
Nov 11 11:27:31 DeepThought ModemManager[511]: <warn> (Plugin Manager) (Cinterion) [ttyACM0] error when checking support: '(Cinterion) Missing port probe for port (tty/ttyACM0)'
Nov 11 11:27:31 DeepThought ModemManager[511]: <warn> (Plugin Manager) (Nokia) [ttyACM0] error when checking support: '(Nokia) Missing port probe for port (tty/ttyACM0)'
Nov 11 11:27:31 DeepThought ModemManager[511]: <warn> (Plugin Manager) (Iridium) [ttyACM0] error when checking support: '(Iridium) Missing port probe for port (tty/ttyACM0)'
Nov 11 11:27:31 DeepThought ModemManager[511]: <warn> (Plugin Manager) (Generic) [ttyACM0] error when checking support: '(Generic) Missing port probe for port (tty/ttyACM0)'
Nov 11 11:27:33 DeepThought ModemManager[511]: <warn> Couldn't find support for device at '/sys/devices/pci0000:00/0000:00:1d.7/usb8/8-2': not supported by any plugin
Nov 11 11:27:35 DeepThought wpa_supplicant[837]: nl80211: send_and_recv->nl_recvmsgs failed: -33
Nov 11 11:27:36 DeepThought kernel: [ 226.092142] usb 8-2: new high-speed USB device number 4 using ehci-pci
Nov 11 11:27:37 DeepThought kernel: [ 226.225936] usb 8-2: New USB device found, idVendor=1949, idProduct=0241
Nov 11 11:27:37 DeepThought kernel: [ 226.225945] usb 8-2: New USB device strings: Mfr=2, Product=3, SerialNumber=4
Nov 11 11:27:37 DeepThought kernel: [ 226.225951] usb 8-2: Product: FireTV
Nov 11 11:27:37 DeepThought kernel: [ 226.225956] usb 8-2: Manufacturer: Amazon
Nov 11 11:27:37 DeepThought kernel: [ 226.225961] usb 8-2: SerialNumber: G070GV05544205DE
Nov 11 11:27:37 DeepThought mtp-probe: checking bus 8, device 4: "/sys/devices/pci0000:00/0000:00:1d.7/usb8/8-2"
Nov 11 11:27:37 DeepThought mtp-probe: bus: 8, device: 4 was an MTP device
After taking a closer look at my syslog and doing some research on problems with /dev/ttyACM0, I finally found the problem. It's the modemmanager. That service immmediately "grabs" the device and tries to do some invalid settings, which leads to an near immediate disconnect.
After I uninstalled the modemmanger (which seemed preinstalled in debian jessie, at least I never installed it on purpose) with
Code:
apt-get remove modemmanager
both of my problems were gone. The device stayed up for 3 seconds and after reboot of the Fire TV it had the same devicename /dev/ttyACM0 again. So I could undo my changes to the handshake script and had instant success with it.
Now I'll try rooting. WHOOT!
Thank you very much for your efforts!
I'd just like to check my understanding - are the instructions you posted comprehensive to obtaining root from absolute scratch?
I know soldering of eMMC and such things were used in development, but that is not needed now after you've done the hard work, correct?
I can just follow your steps above and root the FTV2?
gu3stZA said:
Thank you very much for your efforts!
I'd just like to check my understanding - are the instructions you posted comprehensive to obtaining root from absolute scratch?
I know soldering of eMMC and such things were used in development, but that is not needed now after you've done the hard work, correct?
I can just follow your steps above and root the FTV2?
Click to expand...
Click to collapse
Yes, you're right. No need to solder anything. You just need the tools stated in the instructions.
Hardware:
- a computer running Linux (or something very close)
- a A to A USB cable
Software:
- python3 and python3-serial packages
- adb package (not necessary but recommended)
- zeroepochs scripts and patchfiles
That said, a certain amount of base knowledge regarding Linux doesn't hurt .
Thanks! I've played around with Linux but would definitely classify myself as a beginner. I guess we'll see how user-friendly the instructions are
This is good news, definitely progress, could this be integrated into ADBFire for windows
Jay794 said:
This is good news, definitely progress, could this be integrated into ADBFire for windows
Click to expand...
Click to collapse
This would be perfect. Or even adb. I've just never used Linux
zeroepoch said:
It has only been tested on a US device and I don't know at this point if non US devices are different, maybe not.
Click to expand...
Click to collapse
Hi zeroepoch,
I just used your rooting scripts successfully on a non US (in my case German) version of the Fire TV 2!
Greets,
Christian
skyball2 said:
Hi zeroepoch,
I just used your rooting scripts successfully on a non US (in my case German) version of the Fire TV 2!
Greets,
Christian
Click to expand...
Click to collapse
Thanks for the feedback. Glad to hear it worked!
Successful root under arch Linux! Thanks for your hard work.
By any chance does this root work for the original fire TV ?
Sent from my SM-N910F using Tapatalk
Savage13 said:
By any chance does this root work for the original fire TV ?
Click to expand...
Click to collapse
No. It's MediaTek specific. It may work on most MediaTek devices though.
how can u tell handshake is ok and start patching ?
reiteravi said:
how can u tell handshake is ok and start patching ?
Click to expand...
Click to collapse
It will print "Handshake Complete". Also the serial device will remain present rather than disappear after a few seconds.

Filetransfer broken? or Debian is broken?

Hello,
Im using a S3 Neo like this Section implies.
My problem is, that i can transfer files of the cellphone to my computer with debian 8 jessie, but i cant transfer files of my pc to the s3 neo
PHP:
[email protected]:/lib# adb devices -l
List of devices attached
[email protected]:/lib# mtp-detect
[HIDE]
android-tools-adb of the debian repo doenst help and mtp-detect, detects nothing.
dolphin explorer can open the cellphone and there are 2(1) cellphones shown in the contextmenu of kde.
back in the days with windows it was plug&play to transfer files between it
im curious about that debian shows up two devices, too.
i followed the ubuntu wiki with jmtpfs too and the debian wiki itself, nothing worked.
Desktop
[email protected]:/lib# uname -a
Linux debian 3.16.0-4-amd64 #1 SMP Debian 3.16.39-1+deb8u1 (2017-02-22) x86_64 GNU/Linux
Samsung S3 Neo not rooted/jailbreaked, just stock and never touched anything.
edit my text is too long, i outsourced the mtp-detect echo
docs.google.com/document/d/1cKqfjY4oyU4ckZeYweg6AhjJ2o-h7ssiOegvuBgJt1M/edit?usp=sharing

Categories

Resources