reconstructing linux devopment environment after disaster (VK815) - G Pad 8.3 Q&A, Help & Troubleshooting

I'm trying to get my system back to where it was before I lost everything. My files, notes, tools, etc. were gone but I've managed to get about 80% of it up again. In order to get my computer to talk to my VK815, I'm pretty sure I need a good udev rule. I think there's also a modeswitch script that needs to run when it's plugged in but that info was lost in the disaster. I have the linux development setup back to where I can compile AOSP and I get the tools like adb and fastboot as compilation products, but can't get the VK815 and computer to talk to each other. Any and all help is most welcome.
Thanks,
Jim

I guess there's some good news here. I was able to reconstruct two udev rules; one to modeswitch (which may or may not be necessary) and the other to symlink to ttyUSB0. With the phone in the normal (not download) mode, dmesg shows it initially as idProduct 6292 (where it attempts to feed the Micro$oft drivers) and then it changes to 6293 and symlinks ttyUSB0. After this completes, 'adb devices' shows a blank list. I'm in the developer mode on the tablet with USB Debugging enabled and the Build Version is LRX22G.
Ideas anyone?
edit: Be sure to turn on USB tethering in Wireless Networks -> More
Turns out that the usb_modeswitch rule wasn't needed. Here's the rule I put into /lib/udev/rules.d/51-vk815.rules
# LG G-Pad 8.3
SUBSYSTEM=="usb", ATTR{idVendor}=="1004", MODE="0666", GROUP="plugdev"
After adding this rule, restart udev the way your version of linux wants you to.
Plug in the USB cable and wait for the VK815 to finish loading the Windoze drivers and change idProduct to 6293.
Now, adb devices "should" show you the device ID. It did on mine.
This can easily be made harder than it should be.
Still can't get the VK815 to become a ttyUSB device when it's in the download mode. Tried adding SYMLINK+="ttyUSB%n" to the udev rule without success. Gotta have this to squirt and image.
When this is done and working, I plan on making a step-by-step for future reference.
Jim

Related

[KERNEL] Aircrack-ng on Galaxy Nexus w/ AWUS036H usb wifi adapter (RTL8187 drivers)

For a while now I have been wanting to run aircrack on my galaxy nexus so as to have a mobile pentesting device.
So, I finally got it working and thought I would post how. This is not a task for the terminally challenged.
Install Backtrack 5 ARM. The latter is a linux environment designed for pentesting. On a mobile device the easiest way to install it is by chrooting to the mounted img, running on top of the mobile devices kernel.
Since most people seem to think aircrack is unusable on a mobile arm device, it is not included in the BackTrack 5 linux distro above, so you will need to download it manually once you have BackTrack up and running.
Here are the commands to do so:
#!/bin/bash
# Aircrack-ng installer for BackTrack 5 on Android
# By Justin Barrick aka th3p4tri0t
# install dependency for libssl-dev
apt-get install zlib1g-dev
# install libssl-dev
wget http://launchpadlibrarian.net/64412492/libssl-dev_0.9.8k-7ubuntu8.6_armel.deb
dpkg --install libssl-dev_0.9.8k-7ubuntu8.6_armel.deb
rm libssl-dev_0.9.8k-7ubuntu8.6_armel.deb
# get and install aircrack-ng
apt-get install source-aircrack-ng
cd /var/backtrack/sources/aircrack-ng/1.1/bt9/upstream-sources/
tar -xzf aircrack-ng.tar.gz
cd aircrack-ng/
make
make install
# set path variable
echo "export PATH=$PATH:/usr/local/sbin" >> ~/.bashrc
export PATH=$PATH:/usr/local/sbin
Now, the hard part. Or at least the part that took me forever to discover. You need the drivers for the AWUS036H to be insmod'ed into the kernel. You can accomplish this by obtaining your kernel source and the driver source, which is part of the compat-wireless package, more specifically the AWUS036H uses the rtl8187 chipset. Then, you cross compile those two sources to obtain rtl8187.ko, eeprom_93cx6.ko, and mac80211.ko. Then insmod those kernel modules into your kernel (insmod rtl8187.ko). The process is explained here. One can also recompile the enitre kernel, instead, and include the modules as built-in drivers. However, compiling kernel drivers can be difficult (toolchains, kernel source, etc), so luckily, I found a Galaxy Nexus kernel that already has the modules built-in, it is franco.Kernel R140 with modules added.
***Update:farcno.Kernel R200 with RTL8187 modules added, and R248 for JellyBean 4.1.1 with RTL8187 drivers
, so Aircrack-ng is now compatible with JellyBean! Also, R140 is no longer available but R200 is and has the modules needed
Beware, the kernel R200 needs ICS 4.0.4 installed to work properly, and R248 is built for JB 4.1.1.
***Update 04/11/2013:
I couldn't find any kernels with the RTL8187 drivers for JB 4.2.2, so, I built one my self. The kernel is a modified franco.Kernel R370. I didn't package it into a flashable zip, because I find it just as easy to hook my phone to my computer and use fastboot (fastboot flash boot bootJB422-RTL8187.img). The kernel image is attached below. I have been running it for about 4 days now without issue. I actually find it is the stablest version yet. I was able to play N64oid, while running airodump-ng and aireplay-ng. File attached below.
***Update 04/15/2013:
I looked into getting more of the aireplay-ng attacks to work proper with the RTL8187 drivers. There had been some complaints about fragementation attack not working and negative one always being returned as the channel for mon0. So, I found two patches for those issues on the aircrack-ng site and applied them to the franco.Kernl r370 with RTL8187 and recompiled. Now, we have fully functional aircrack-ng RTL8187 driver.
Once you flash the kernel, using the flashable zip and cwm or fastboot flash, then backtrack will be able to recognize the attached wifi adapter.... once you mount the usb bus in BackTrack. And, of course, this needs a OTG USB host cable.
The final step before learning how to use aircrack-ng is:
1. Open a terminal and load BT5, you can load the 'ui' and use an vnc to connect the the xserver desktop if you want. But, I have found it is easier to just use the chroot shell in the android terminal emulator.
2. open another android terminal window, and type:
su
mkdir -p /data/local/bt/dev/bus/usb
mount -o bind /dev/bus/usb /data/local/bt/dev/bus/usb
3. In the new android terminal window, start the BT5 shell (startbt), then type:
lsusb
You should see atleast one device, the usb root, and whatever device you have plugged in to the otg cable, if any.
A note to remember: I re-performed this guide after formatting my phone and got stuck here. lsusb didn't list anything. I rebooted my phone and tried to start BT5 and mount the usb again and it worked. I rebooted, started BT5, tried lsusb without binding usb and was blank as should be, bound usb back in another terminal window, returned to BT5, tried lsusb and root hub displayed.
Now, plug in the AWUS036H and type: airmon-ng
And you should see the device listed.
Read here for how to run aircrack, or view here.
Essentially the commands are:
lshw -disable dmi
(this should list the attached wifi card under NETWORK, my RTL8187 was wlan1)
ifconfig
(you should see wlan1 listed, if not the type "ifconfig wlan1 up" and retype "ifconfig")
airmon-ng start wlan1
airodump-ng mon0
copy BSSID and CHANNEL
New android terminal with BT5 shell (startbt): airodump-ng -w wep -c CHANNEL --bssid BSSID mon0
New android terminal with BT5 shell (startbt): aireplay-ng -1 0 -a BSSID mon0
New android terminal with BT5 shell (startbt): aireplay-ng -3 -b BSSID mon0
After ~50,000 packets collected:
New android terminal with BT5 shell (startbt): aircrack-ng wep-01.cap
To the purpose, with this, if your friend or mom or just some complete stranger forgets their wep key to their network, all they need to do is call you and you can just drive by, plug your wifi adapter into your phone, chroot to BT5 and aircrack their password for them, in a matter of 5 to 10 minutes.
WARNING!!!: In my intial aircrack run on my galaxy nexus, I cracked a wep key in about 5-10 minutes. I was happy, happy, happy. Then, a ruinous moment occurred. Almost the very second aircrack-ng finished cracking the key, my phone came up with a low battery warning, I was using a awus036h wifi adapter and it was draining my battery fast, I had about 50% to begin and had the 14% warning hit me about 10 minutes in, funny thing is the warning is usually 14%, but this time was 13%, go figure? Anyway seconds after the warning my phone just blanks, turns off. I plug it in and reboot and the battery is at 0% and stuck there, so a word of warning:
An external wifi adapter my require more usb host juice then the battery can safely supply. I have seen people using powered hubs to circumvent draining the phone battery, I would defintiely recommend the practice.
UPDATE: I plugged the phone into an AC charger and the battery finally charged (phew). For some reason, it wouldn't recharge on the USB cable after being so drained.
Is there a compatible wifi device that has the same chip set but with its own power supply (cord or battery)? If so that should help. I'm interested if someone can find one.
Sent from my Galaxy Nexus using xda premium
This is amazing work. I used to do some network pen testing as part of my old job and there's a lot of work that goes into making a mobile setup even with a laptop involved. The fact you got this all working coherently on a phone is mind blowing to me. Huge props.
I have no experience with this manufacturer or ebay seller but through some googling I did find this product:
http://www.ebay.com/itm/Solar-Power...970998?pt=PDA_Accessories&hash=item20b72a86b6
USB hubs in theory do not identify as normal USB devices and allow for pass through communication between connected devices. This one supplies external power as well. In other words, you may be able to connect both devices to this as it provides external power, and they can communicate without you having to rewrite any drivers.
However, be careful because some USB chipsets get confused if you try to use them as USB host but supply external power at the same time. So you may want to verify that is safe on the GNEX USB chipset.
Anyone willing to order that hub and test it?
Sent from my Galaxy Nexus using xda premium
Wow just found that and will be testing it at home tonight.
I flashed the V140 kernel via recovery and I can't locate rtl8187.ko anywhere to move it to /data/local/modules
Where is it located once the kernel flashed?
Thanks!
Once you install the R140 kernel mentioned, there is no need to insmod rtl8187.ko. The rtl8187 chipset support is compiled into the kernel boot.img.
I use this external battery pack, and I spliced a spare USB cord with the cord from my wifi adapter, so it only draws juice from the battery pack.
When you cut open a usb cord there are four wires: red, black, green, and white.
Green and white are data, connect them to the cord going to the galaxy nexus.
Red is +5V, connect it to the +5 V or red cord going to the battery pack.
Black is common, connect it to both usb cords.
So, on the cord going to the battery pack, green and white are loose, and on the cord going to the gnex, red is loose.
Or, you could use the solar powered hub mentioned above. You will still need the modified kernel, as the hub will show up as an attached device, but so will whatever is connected to it. You can't communicate with a device, without the appropriate drivers.
I did the bt5 development for the xoom. Reaver works too for h4xRing wps. I make a module pack with about 100 modules for xoom. If this is something the gnex community is interested in ill see what a can do.
bigrushdog, to be honest, during my trek to get this working, I nearly gave up and bought a XOOM, after seeing how well developed it was.
bigrushdog said:
I did the bt5 development for the xoom. Reaver works too for h4xRing wps. I make a module pack with about 100 modules for xoom. If this is something the gnex community is interested in ill see what a can do.
Click to expand...
Click to collapse
Of course I would be interested!!!
Aircrack is working now with my rtl8187!
Great job. However I noticed that this kernel is draining the battery much quicker than the latest Franciscofranco kernel in Android with a normal everyday usage.
You could download the franco.Kernel updater, it lets you set options in the franco.Kernel, like the "Generic Hotplug" option which saves battery by turning off one cpu core when the phone screen is off and allows you to set undervolt settings. It also has a Power Mode setting with Full Power, Balanced, and Power Save options. Full Power is default, which makes your phone faster, but at the expense of battery power.
Be sure not to upgrade the kernel to the current nightly though. The franco.Kernel I listed is specially modified, the rtl8187 drivers aren't normally found in the franco.Kernel.
bigrushdog said:
I did the bt5 development for the xoom. Reaver works too for h4xRing wps. I make a module pack with about 100 modules for xoom. If this is something the gnex community is interested in ill see what a can do.
Click to expand...
Click to collapse
Yes, please! I'd be interested.
Sent from my Galaxy Nexus using xda premium
michaelmotes said:
You could download the franco.Kernel updater, it lets you set options in the franco.Kernel, like the "Generic Hotplug" option which saves battery by turning off one cpu core when the phone screen is off and allows you to set undervolt settings. It also has a Power Mode setting with Full Power, Balanced, and Power Save options. Full Power is default, which makes your phone faster, but at the expense of battery power.
Be sure not to upgrade the kernel to the current nightly though. The franco.Kernel I listed is specially modified, the rtl8187 drivers aren't normally found in the franco.Kernel.
Click to expand...
Click to collapse
I will try the settings as I already have the app! Huge thanks!
Wow I tried to get rtl8187 working since 2 weeks, but never was able to crosscompile the kernel modules.. And you found a kernel, that has these modules already intergrated thank you very very much
It was brought to my attention that the patches for the compat wireless drivers from aircrack-ng haven't been applied to the driver in the kernel I provided. Nonetheless, aircrack-ng, aireplay-ng, airmon-ng, and airodump-ng still work. The only one that might give you a problem is aireplay-ng because it uses the patches to get the channel of the bssid from the driver, which without the patch just returns -1. I was able to get around it by using the command line option --ignore-negative-one when using aireplay and the ARP request replay attack (attack 3) and fake authentication (attack 1) still worked.
Also, a word to the wise, I overheated my cpu while running airodump, aireplay ARP request replay, and aircrack all at once and caused a kernel panic and emergency shutdown. So, I would advise only running airodump and aireplay, then waiting until you have lots of packets, stopping airepaly and airodump, and then running aircrack. Or, maybe even underclocking the cpu while running in backtrack.
michaelmotes said:
It was brought to my attention that the patches for the compat wireless drivers from aircrack-ng haven't been applied to the driver in the kernel I provided. Nonetheless, aircrack-ng, aireplay-ng, airmon-ng, and airodump-ng still work. The only one that might give you a problem is aireplay-ng because it uses the patches to get the channel of the bssid from the driver, which without the patch just returns -1. I was able to get around it by using the command line option --ignore-negative-one when using aireplay and the ARP request replay attack (attack 3) and fake authentication (attack 1) still worked.
Also, a word to the wise, I overheated my cpu while running airodump, aireplay ARP request replay, and aircrack all at once and caused a kernel panic and emergency shutdown. So, I would advise only running airodump and aireplay, then waiting until you have lots of packets, stopping airepaly and airodump, and then running aircrack. Or, maybe even underclocking the cpu while running in backtrack.
Click to expand...
Click to collapse
Could we patch it manually? We would need to download the kernel source somewhere in the chroot session and modify the makefile then?
You can patch it manually. But, like I said, I'm happy with it, I can crack wep keys and that is what I wanted to do, still as an academic exercise, or academic triathlon, you can patch it manually. To start, I would try getting the kernel source for the gnex, or maybe from Kernel-XP I linked. He might give it to you if you asked. Then, I would recompile the kernel with not changes.
The kernel must be recompiled using the arm gcc toolchain, you can get it like:
$ git clone https://android.googlesource.com/platform/prebuilt
$ export PATH=$(pwd)/prebuilt/linux-x86/toolchain/arm-eabi-4.4.3/bin:$PATH
I would install all the necessaries on a regular desktop and follow the instructions for building kernels here: http://source.android.com/source/building-kernels.html.
Once you get the kernel rebuilt and it works, look into patching the compat-wireless source here: http://www.aircrack-ng.org/doku.php?id=compat-wireless
And then take a look here: http://stackoverflow.com/questions/4849063/cross-compile-lkm-module-for-android-platform. It says how to setup a makefile in the driver source directory to make it cross-compile with the android kernel source.
Nice!
Cool and thanks for all the steps. Last link was the key I was missing for many weeks!
So right now WPA2 won't be working right?
What do you mean "WPA2 wont be working"?
I believe you can still caputre handshakes, and try to brute force the password. All you need is to run airodump to capture the handshake on the wpa router and run aireplay with attack 0 (deauthication) to cause a client to handshake.WPA cracking is slow though, and only possible if the router has password less then or equal to 7 characters, I think after that the odds of cracking it become worse then hitting the lottery after that. There is no way to recover a WPA key without guessing it.
Capturing the handshake just allows one to guess rapidly without the router knowing or being able to ban your mac for repeated auth attempts.

[5/4/2013] Running real linux on your Kindle

---
DISCLAIMER: THIS IS A REALLY GOOD WAY TO EFF UP YOUR KINDLE IF YOU DON'T KNOW WHAT YOU ARE DOING!!!
IF YOU DON'T KNOW WHAT ADB, PARTED, OR WHAT LINUX IS, YOU MIGHT WANT TO JUST CLICK THE BACK BUTTON!
---
Most that know Android, knows that it's just fancy UI and API on top of Linux, but it's still not quite Linux... But what if you want to run real Linux on your tablet?
Well, it's actually not that hard to do, but certainly not for n00bs...
Need to know: Linux, fastboot, adb, parted, etc.
You will also need the mkbootimg program, fastboot, working ADB, etc.
And a USB OTG adapter and working USB keyboard.
(this is assuming you already have modded your kindle with the usual FFF+TWRP 2.1+CM9)
The first step is to do a little repartitioning, so boot the Kindle into recovery, and run an 'adb shell'.
Then run 'parted'.
The idea here is to basically maintain the stock layout, while making room for linux...
Which can be done a few ways, the easy way would to just delete 'media', then recreate it much smaller (I did 1GB).
Then make one more new partition, using the remaining flash memory (should be a little over 4GB).
Making sure to reassign the name 'media' to partition 12, you can also name the new linux partition 'linux' or whatever, if you like.
After that, quit parted, and create the new FS on the new linux partition (mke2fs -Text4 /dev/block/mmcblk0p13, but you should know that already ).
Then reboot the tablet, get back into Android, it may or may not complain about the 'SDCARD' needing to be formatted, which should be done anyway, since it changed in size.
Do another 'adb shell', mount the new linux partition to a useful place, you can just mount over '/mnt' if you like, it won't hurt anything. Exit out of the shell.
Download this pre-built Debian rootfs I found:
http://rcn-ee.net/deb/rootfs/wheezy/
Unpack that file on your host machine, then use 'adb push' to copy the armel-rootfs tar to the Kindle's '/mnt'.
'adb shell' back into the kindle, and change to '/mnt' and untar the armel rootfs tar file... Maybe go to the bathroom, get a drink, get some fresh air or something, it'll take a little time to do it's thing.
After that's done, download my rc.local and 'adb push' that to '/mnt/etc' and make sure to ungzip it, and chmod is 0777 (or is it 0766, either should work lol).
http://www.mediafire.com/?gx46xxb4813n5ob
Then you can delete the rootfs tar file if you like, get out of '/mnt', and unmount it.
Linux is now installed, easy eh?
Now, download my kernel (acutally it's Hashcode's kernel, but with needed changes):
http://www.mediafire.com/?2lqex9j5bgws0b1 (Updated 6/11/2012)
Using mkbootimg:
'mkbootimg --kernel zImage --ramdisk /dev/zero --cmdline "root=179:XX" --base 0x80000000 -o boot.img'
Where XX is the partition that you put linux on (if following this exactly, should be 13), you should now be able to use /dev/mmcblk0pXX as well, if that doesn't work just use 179:XX.
Then using fastboot, boot the kernel package:
'fastboot boot boot.img'
While it says 'waiting for device...", reboot the Kindle and wait for it to download and boot the package.
Then wait for the linux login!
Plug in your favorite USB keyboard, a USB 1.1 one works best I've found.
The root password for that rootfs package is just 'root'.
-------------
Now, the fun part: Internet access, the hard way.
I'm still working out getting the WIFI modules working, so you'll have to use it tethered via USB... Which means no keyboard, but you can still log in by SSH.
In my kernel, instead of being an 'android' USB devices, it's a multifunction USB gadget with ethernet, serial port, and mass storage.
Mass storage works, but a little buggy sometimes.
Serial port seems broken for some reason.
Ethernet is what we're after.
Now the rc.local I made, in addition to enabling the video overlay (so there's a framebuffer console on the LCD), it also sets up the ethernet USB gadget.
I set the IP address to 192.168.5.1, which really should be out of the common IP range that most people use, but if it conflicts, then you can edit rc.local before you push it over above.
On your Linux host, with the Kindle plugged in, bring up the USB ethernet interface:
'ifconfig usb0 192.168.5.2 netmask 255.255.255.0'
After that, maybe try pinging the kindle (192.168.5.1), to make sure everything is working... If it is, you should have no problems connecting with SSH and logging in.
Once you can connect/login by SSH, you'll need to add your host machine as the default gateway ('route add default gw 192.168.5.2'), then edit '/etc/resolve.conf' and add a DNS server (add your ISP's DNS, or use 4.2.2.1).
After that, you should have internet access on the kindle side via SSH, and should be able to download/install your favorite Debian packages.
Oh, did I mention that you'll need a IP forwarding/NAT service running on your linux host too? I'll have to refer to linux manuals on how to do that, but if you can do all this, you should have no problems doing that.
I should also say that this CAN technically be done in windows as well, since all the needed programs are available in WIN32 bins, but you won't be able to get tethered network access working, because Microsoft doesn't support CDC ethernet devices.
Have fun!
OH! And X works fairly well with the omap3 video driver, just so long as you DON'T touch the screen, the touch screen driver currently crashes X on input.
So fair warning, make sure you know how to navigate X with just a keyboard, unless you have a OTG working hub and can use a keyboard and mouse, or have a wireless keyboard/mouse combo of some kind.
Update 6/11/2012:
Uploaded new kernel (link above), touch screen is now working, though no multitouch.
I have a boot loader with multiple boot options, http://www.mediafire.com/?l6aaqgsdkiksfw0
To use it, make a partition named "linuxboot", and flash your linux's boot.img created with the above instructions.
Still working on wifi.
Update 6/11/2012:
Ok, WIFI is working... Not sure why it wasn't before.
Here are the modules: http://www.mediafire.com/?139hold2a2l9vbl
Don't forget to run depmod.
You'll also have to copy the firmware from android system partition in /etc/firmware and copy it to Linux /lib/firmware
In case no one believes me, here's a console dump (typing blind of course, this was an early attempt with no LCD):
Code:
d.
.
Starting periodic command scheduler: crond.
FATAL: Could not load /lib/modules/3.0.21+/modules.dep: No such file or directory
Debian GNU/Linux 5.0 carrier tty1
carrier login: usb 1-1: new low speed USB device number 2 using musb-hdrc
usb 1-1: device v0b38 p0010 is not supported
input: HID 0b38:0010 as /devices/platform/omap/musb-omap2430/musb-hdrc/usb1/1-1/1-1:1.0/input/input4
generic-usb 0003:0B38:0010.0001: input: USB HID v1.10 Keyboard [HID 0b38:0010] on usb-musb-hdrc-1/input0
input: HID 0b38:0010 as /devices/platform/omap/musb-omap2430/musb-hdrc/usb1/1-1/1-1:1.1/input/input5
generic-usb 0003:0B38:0010.0002: input: USB HID v1.10 Device [HID 0b38:0010] on usb-musb-hdrc-1/input1
root
Password:
Last login: Sun May 27 21:55:28 UTC 2012 on tty1
Linux carrier 3.0.21+ #40 SMP PREEMPT Sun May 27 16:59:27 CDT 2012 armv7l
The programs included with the Debian GNU/Linux system are free software;
the exact distribution terms for each program are described in the
individual files in /usr/share/doc/*/copyright.
Debian GNU/Linux comes with ABSOLUTELY NO WARRANTY, to the extent
permitted by applicable law.
carrier:~# echo skdjfhnsdkjfshdsummit_bat_notifier_call val=41
summit_smb347 4-0006: summit_fsm_stateTransform:state : suspend(0) -> suspend(0) ; event : EVENT_BATTERY_NTC_NORMAL
kfjshdkjfshdfkjshdfkjsdhfkjsdhfkjsdhfkjshksdjfhskjdhfskjdhfsdkjfhsdkjfh > /dev/fb0
carrier:~# echo skdjfhnsdkjfshdkfjshdkjfshdfkjshdfkjsdhfkjsdhfkjsdhfkjshksdjfhskjdhfskjdhfsdkjfhsdkjfh > /dev/fb1
-bash: echo: write error: No such device
carrier:~# omap-rproc omap-rproc.1: rproc_loader_cont: failed to load ducati-m3.bin
cat /dev/vcs1 > /dumpp.txt
I was trying to get something to come up on the framebuffer, to no avail of course.
The backlight comes on, and it seems like it want to work, but there's nothing.
Are you talking about a true Debian dual-boot on our tablet? That could be really awesome .
Envoyé depuis mon Amazon Kindle Fire avec Tapatalk
Actually, yes.
It's mostly a matter of having a proper framebuffer console and telling the kernel to use a root instead of using the initrd to setup android.
If we could get a scripted bootloader, one that would give a customizable boot menu, you could easily boot whatever you wanted.
And what about it : http://thomaspolasek.blogspot.fr/2012/04/arch-linux-lxde-w-xorg-mouse-keyboard_16.html?m=1 ?
Envoyé depuis mon Amazon Kindle Fire avec Tapatalk
Well, I already got most of that working, chroot environment is easy.
I got the full Linux init going, no android at all... just no display.
seishuku said:
Well, I already got most of that working, chroot environment is easy.
I got the full Linux init going, no android at all... just no display.
Click to expand...
Click to collapse
Display might be tricky, as we are currently using the very latest graphics modules from TI. I'm not sure if you can use those in our current build.
That being said you could send a cat /proc/msg to a file during boot and that might contain your error.
Sent from my Amazon Kindle Fire using Tapatalk 2
Well I already have a working fbcon in android, but it seems the display just isn't being enabled in Linux.
I've tried "echo 1 > /sys/devices/omapdss/display0/enabled" to force it on, but nothing.
The back light is already on though...
I thought EXT2 was for really old linux distros.
Sent from my Kindle Fire using XDA
Not really, its just more compatible.
I could have made pretty much anything...
I read somewhere that SSDs should use EXT4.
i am really anxios to see this even though is only cmd line.
will the steps to get this going available even for SSH commands?
I really should hack together a wifi script to get some kind of network connection, would make working on it a little (lot) easier.
The idea here though is to basically have a full linux, to operate exactly like it would on a PC.
With a working framebuffer console, an X.org config can be made and X should work just fine with the touch screen too.
The end result, with just keyboard, should be a full blown linux system.
The real question is how long it would take to compile android for.. itself.
Sent from my Amazon Kindle Fire using Tapatalk 2
Hashcode said:
The real question is how long it would take to compile android for.. itself.
Sent from my Amazon Kindle Fire using Tapatalk 2
Click to expand...
Click to collapse
They can start reproducing them selves, isn't this how terminator started?
Sent from my LG-VM670 using Tapatalk
Hashcode said:
The real question is how long it would take to compile android for.. itself.
Sent from my Amazon Kindle Fire using Tapatalk 2
Click to expand...
Click to collapse
pbailey212 said:
They can start reproducing them selves, isn't this how terminator started?
Sent from my LG-VM670 using Tapatalk
Click to expand...
Click to collapse
This is really off topic but Hashcode's comment and pbaileys phone reminded me of a test project Drew (of Team Hydro) did where he chrooted ubuntu onto an LG-LS670 and compiled a kernel for it natively, took just under 3 hours.
I'm at a bit of a loss here... if I disable surfaceflinger, so I keep my android fb console, then if I disable the display and reenable it, I lose the console.
Also, in my initrd, I can remove everything except ueventd and still keep the console... so something ueventd (init) is doing to enable the console.
In Linux I can play with enabling/disabling the display, but nothing seems to provoke Linux to give me an actual console.
Sblood86 said:
This is really off topic but Hashcode's comment and pbaileys phone reminded me of a test project Drew (of Team Hydro) did where he chrooted ubuntu onto an LG-LS670 and compiled a kernel for it natively, took just under 3 hours.
Click to expand...
Click to collapse
On the vm670 legend has it, people have compliled whole roms in 30 minutes, with an optimus v, and Leslie Ann's build server
sent from my Nokia 5110
Aha! Got it!
http://www.youtube.com/watch?v=PXhnVP3lWLU
For whatever reason sysfs wasn't taking my commands.
Now I can work out some bugs and get X working.
I also switched the USB gadget from android to an Ethernet CDC, so I can SSH via USB while I get wifi working.
Edit-
Sorry about the super blurry video, my phone's camera is having "issues".
Ok, I've switched to the official Debian armel wheezy distro (basically just formatting my linux partition and untaring the distro), seems to have fixed a lot of problems... One being aptitude not working correctly (seen in the video).
I need to enable some kind of ip forwarding on my local linux install, so I can get a temp internet connection on the kindle via USB gadget ethernet cdc (ssh and http already works).

[How-to] Setting up MTP for Xperia ZL on Ubuntu

Hi all,
I've been tinkering around trying to get mtpfs to work properly and get mtp services working in Ubuntu for my Xperia ZL (Bell C6506 4.2.2 android)
Here's where I'm at so far:
Linux can recognize the device and automatically mounts it now.
Rhythmbox can detect it, but I haven't tested sync features, but I did notice it couldn't automatically detect my music libraries. It obviously doesn't autodetect their locations and is possibly only looking for them in a certain place.
I'm also worried if I try to sync with rhythmbox, that it will erase data on the SD or worse, the internal.
Don't give me credit for any of this, I pulled all my info from various sources online, mostly from webupd8.
My steps:
Create a directory that we can mount the device to. Open up a terminal and type:
Code:
sudo mkdir /media/xperiazl
I never had to use chmod, but if you wanna make sure permissions are right, do a quick google search on how to set permissions with chmod. I think it's more important if you have multiple users on the one computer, but I'm the only user on my PC.
Next, install go-mtpfs through the ppa provided by webupd8
go-mtpfs is a Ddebian package that manages the filesystem used by the mtp protocols. It should work on any Debian distro, but I only work in Ubuntu 13.04 so I haven't tested anything else.
Code:
sudo add-apt-repository ppa:webupd8team/unstable
sudo apt-get update
sudo apt-get install go-mtpfs
But go-mtpfs isn't enough on it's own, because it doesn't autmoatically detect the Xperia ZL (it is supposed to detect nexus devices, etc. automatically though)
Next you need to edit a script file in the udev folders, to tell linux how to recognize the phone; or theoretically any other MTP devices.
If you want to know about udev and the files you're editing, go to /etc/udev/rules.d/ and look for the readme document inside.
Code:
sudo gedit /etc/udev/rules.d/51-android.rules
I use the code below to set the parameters for recognizing the Xperia ZL, specifically while it's in MTP, with USB debugging enabled.
With debugging disabled you have a different product ID (labelled "ID_VENDOR_ID" in the code below). You could just duplicate the code and have two entries then, one for usb debugging on, one for when it's off.
FOR NON C6506 / Xperia ZL device users:
When looking at the below code, notice the idVendor tag and the idProduct tag in the first unhashed line of code. These numbers are specific for the Xperia ZL (possibly specific to the C6506, I never looked into it). If you're setting up auto-mount for another device, use the following function in the terminal:
lsusb
lsusb gives you a readout of all the usb devices attached to your computer (that linux can detect). The readout looks kind of like this:
Bus 002 Device 055: ID 0fce:5189 Sony Ericsson Mobile Communications AB
That's the readout at this time for my Xperia ZL. The 0fce is meant to be handled by idVendor or ID_VENDOR. The 5189 is meant to be handled by idProduct or ID_VENDOR_ID. Again, remember that your idProduct or ID_VENDOR_ID is different when usb debugging is off / on.
Ok, we're almost there! C6506 users, just copy the code below and replace YOUR_USERNAME with... well, your username.
All other users must replace the product ID and Vendor ID with their own device's values.
Code:
# Sony XperiaZL idProduct="0189" for usb debug off, and idProduct="5189" for usb debug on
SUBSYSTEM=="usb", SYSFS{idVendor}=="0fce", ATTR{idProduct}=="5189", MODE="0777" #MTP media, USB debug on
# Xperia ZL MTP mode under JB 4.2+ : automatic mount & unmount whel plugged (usb debug on & off)
SUBSYSTEM=="usb", ENV{ID_VENDOR}=="0fce", ENV{ID_VENDOR_ID}=="5189", ACTION=="add", RUN+="/usr/bin/sudo -b -u YOUR_USERNAME /usr/bin/go-mtpfs -allow-other=true /media/xperia"
You will often run into errors and other random problems if you try to mount with the screen off (or at lockscreen). If you're gonna do lots of file transfers, I suggest jumping into your phone's developer options and turning on "stay awake" so the screen stays on while it's charging. That'll prevent loss of permissions in the middle of a file sync.
If there are any linux experts, could you help point out any faults in my code? I'm pretty sure its all good actually and that all the rough edges are linux issues with mtp, since it's not supported as well as it could be.
Anyways, thanks for reading, I know I'm not the best at teaching this but hopefully this helps someone else out who's been struggling with linux and MTP protocol.
EasyAI said:
Hi all,
I've been tinkering around trying to get mtpfs to work properly and get mtp services working in Ubuntu for my Xperia ZL (Bell C6506 4.2.2 android)
Here's where I'm at so far:
Linux can recognize the device and automatically mounts it now.
Rhythmbox can detect it, but I haven't tested sync features, but I did notice it couldn't automatically detect my music libraries. It obviously doesn't autodetect their locations and is possibly only looking for them in a certain place.
I'm also worried if I try to sync with rhythmbox, that it will erase data on the SD or worse, the internal.
Don't give me credit for any of this, I pulled all my info from various sources online, mostly from webupd8.
My steps:
Create a directory that we can mount the device to. Open up a terminal and type:
Code:
sudo mkdir /media/xperiazl
I never had to use chmod, but if you wanna make sure permissions are right, do a quick google search on how to set permissions with chmod. I think it's more important if you have multiple users on the one computer, but I'm the only user on my PC.
Next, install go-mtpfs through the ppa provided by webupd8
go-mtpfs is a Ddebian package that manages the filesystem used by the mtp protocols. It should work on any Debian distro, but I only work in Ubuntu 13.04 so I haven't tested anything else.
Code:
sudo add-apt-repository ppa:webupd8team/unstable
sudo apt-get update
sudo apt-get install go-mtpfs
But go-mtpfs isn't enough on it's own, because it doesn't autmoatically detect the Xperia ZL (it is supposed to detect nexus devices, etc. automatically though)
Next you need to edit a script file in the udev folders, to tell linux how to recognize the phone; or theoretically any other MTP devices.
If you want to know about udev and the files you're editing, go to /etc/udev/rules.d/ and look for the readme document inside.
Code:
sudo gedit /etc/udev/rules.d/51-android.rules
I use the code below to set the parameters for recognizing the Xperia ZL, specifically while it's in MTP, with USB debugging enabled.
With debugging disabled you have a different product ID (labelled "ID_VENDOR_ID" in the code below). You could just duplicate the code and have two entries then, one for usb debugging on, one for when it's off.
FOR NON C6506 / Xperia ZL device users:
When looking at the below code, notice the idVendor tag and the idProduct tag in the first unhashed line of code. These numbers are specific for the Xperia ZL (possibly specific to the C6506, I never looked into it). If you're setting up auto-mount for another device, use the following function in the terminal:
lsusb
lsusb gives you a readout of all the usb devices attached to your computer (that linux can detect). The readout looks kind of like this:
Bus 002 Device 055: ID 0fce:5189 Sony Ericsson Mobile Communications AB
That's the readout at this time for my Xperia ZL. The 0fce is meant to be handled by idVendor or ID_VENDOR. The 5189 is meant to be handled by idProduct or ID_VENDOR_ID. Again, remember that your idProduct or ID_VENDOR_ID is different when usb debugging is off / on.
Ok, we're almost there! C6506 users, just copy the code below and replace YOUR_USERNAME with... well, your username.
All other users must replace the product ID and Vendor ID with their own device's values.
Code:
# Sony XperiaZL idProduct="0189" for usb debug off, and idProduct="5189" for usb debug on
SUBSYSTEM=="usb", SYSFS{idVendor}=="0fce", ATTR{idProduct}=="5189", MODE="0777" #MTP media, USB debug on
# Xperia ZL MTP mode under JB 4.2+ : automatic mount & unmount whel plugged (usb debug on & off)
SUBSYSTEM=="usb", ENV{ID_VENDOR}=="0fce", ENV{ID_VENDOR_ID}=="5189", ACTION=="add", RUN+="/usr/bin/sudo -b -u YOUR_USERNAME /usr/bin/go-mtpfs -allow-other=true /media/xperia"
You will often run into errors and other random problems if you try to mount with the screen off (or at lockscreen). If you're gonna do lots of file transfers, I suggest jumping into your phone's developer options and turning on "stay awake" so the screen stays on while it's charging. That'll prevent loss of permissions in the middle of a file sync.
If there are any linux experts, could you help point out any faults in my code? I'm pretty sure its all good actually and that all the rough edges are linux issues with mtp, since it's not supported as well as it could be.
Anyways, thanks for reading, I know I'm not the best at teaching this but hopefully this helps someone else out who's been struggling with linux and MTP protocol.
Click to expand...
Click to collapse
Hey i did everything as you said, but still cannot mount my ZL C 6502...is there anything else that i could do?

[Q] ERM... I tried something without knowing fully what it would do.

I know that it was foolish of me to not fully research this set of commands I have copied the before and after of tit all from the command line. I was attempting to mess around with my phone with QPST. I know, I can REALLY REALLY make things hideous if I don't tread carefully with QPST, but I am willing to take the risk in order to learn, even if I do get burned because my phone bursts into flames.
Any who here is the output from my commandline which I ran because using *#0808# and switching to either RNDIS+DM+MODEM or DM+MODEM+ADB didn't make my phone visible for QPST. And I also tried while in recovery, download mode, and all the other settings in the *#0808# menu, plus variations of the menu and then booting into recovery, normal boot, and download mode. All to no avail, then in frustration I tried the following and it's gotten to the point I can't see my phone via adb anymore. So could someone please give me the undo set of commands for typing into my phones terminal as I can't type them via my computer due to adb not seeing it anymore? Thanks
C:\Users\xxxxx>adb devices
List of devices attached
0123456789ABCDEF device
C:\Users\xxxxx>adb shell
$ echo MODEM USB > /sys/class/sec/switch/usb_sel
echo MODEM USB > /sys/class/sec/switch/usb_sel
cannot create /sys/class/sec/switch/usb_sel: permission denied
$ su
su
# echo MODEM USB > /sys/class/sec/switch/usb_sel
C:\Users\xxxxx>adb shell
error: device not found
Oh!, and if anyone can explain either what the commands did or better yet where I can go read about such commands and what they do that would be great too. Thanks
Not sure how relevant this is or if it will help you but this man seems to be in kinda the same boat, why don't you take a look at this thread particularly post #2 http://forum.slimroms.net/topic/2008-broken-usbuart-path-causing-loss-of-adb/
Sent from my Nexus 7 2013 using Tapatalk
crazymonkey05 said:
Not sure how relevant this is or if it will help you but this man seems to be in kinda the same boat, why don't you take a look at this thread particularly post #2 http://forum.slimroms.net/topic/2008-broken-usbuart-path-causing-loss-of-adb/
Sent from my Nexus 7 2013 using Tapatalk
Click to expand...
Click to collapse
Thank you for the link I haven't tried anything based on the information yet, actually haven't read it all yet. Very complex stuff just lets me know how far I have to go. Odd thing is that I now for some reason have ADB working again. I did a factory reset recently and the other day I reinstalled/refreshed my computer. My computer was infected by a bunch of viruses and malware the phone was just sluggish and I had way more apps I wanted rid of than to keep. Anyway, I don't know if the virus on my system had anything to do with the malfunction or if it was the command I used but for now it is back to working.
I was working on a friends HTC Desire and was having a hell of a time getting fastboot commands to work. I got hboot USB working but when giving a command it would generate a "device connected toi USB has malfunctioned" also the USB ports would shut off untill reboot too intermittantly and even my wifi three or four days ago became disabled and I reset the adapter fine for 5mins then it went a level deeper and deeper till I reinstalled the driver. That being said it is more likely that it was the virus and or the person messing with my system that was causing all the grief. They even triggered email alerts on a couple of my accounts that passwords were input wrong 5 times in a row and that some security settings were being changed. Hopefully I have dealt with that if not I'll have to wait till they get bored. Sorry if that was a little off topic it sort of conencts to my recent problems.

Mounting w/ Gentoo

So up until now, I've been using a small windows image just to work with adb on my OP5T but am kind of wanting to just move on and get this thing working on my main machine, which is installed with Gentoo.
The problem I'm having is having it even see the OP5T and I can't figure out why. I'm hoping someone here can help out. I've done this with many other phones, but the OP5T Is the only one giving me trouble
Yes I've emerged android tools
As of right now, here is the line I've added to /etc/udev/rules.d/51-android.rules:
Code:
SUBSYSTEM=="usb", ATTR{idVendor}=="2a70", ATTR{idProduct}=="9011", MODE="0666", GROUP="plugdev"
Where I got this? `lsusb` shows:
Bus 003 Device 004: ID 2a70:9011
It's the only device that shows up or is removed when I unplug the phone (although it has no label for some reason).
I've even attempted another file I've had to use for other android devices, 80-android.rules and placed the line in there.
I have also removed idProduct from the line just to see if that was conflicting. No luck. Yes, my user is in the plugdev group.
So yeah, I'm out of ideas. Anyone got anything?

Categories

Resources