Related
Someone has managed to connect to an ad-hoc access point? I tried but I failed, also I have not heard of anyone who has achieved
Try the Connectify application to achieve the same thing.
Sent from my HTC Desire using XDA App
This transforms the pc (with windows) in AP, but i want this feature to connect Android phone to other Android phone, [with Wireless Tether] sharing the connection between two phones (really i dont need, but i like to experiment xD)
Thanks for fast reply an sorry for my english
I am also very much interested in this topic for quite a while and i have collected some information about it:
1. Ad-hoc wifi is not a desire specific issue but it affects all devices running android. There is a ticket asking to add it but its just in the state "reviewed" by now. See http://code.google.com/p/android/issues/detail?id=82
2. Some workarrounds exists but they depend on the device beeing addressed.
3. szym.net (author of barnacle wifi-tether) gives a very good explanation why ad-hoc actualy does not work with stock android:
Unfortunately, the WifiManager in stock Android ignores ad-hoc networks.
Click to expand...
Click to collapse
He offers a patch to hack wpa_supplicant which lets ad-hoc networks look like regular access points and thus make them accessable from the phone. See http://szym.net/android/adhoc-wpa-supp.html
HTH
I try your link says, and i try this other pretty way: racheado.blogspot.com/2009/12/conexion-ad-hoc-en-android-posible.html (is in spanish)
but when go to remount in "-ro" the phone resets and don't save the changes.
Also i try this way: ott.net/knowledge/htc-desire-adhoc/ but when go to execute "iwconfig" the "better terminal" or "adb shell" says "permission denied".
And yes, I have root access
ghiki said:
I try your link says, and i try this other pretty way: racheado.blogspot.com/2009/12/conexion-ad-hoc-en-android-posible.html (is in spanish)
but when go to remount in "-ro" the phone resets and don't save the changes.
Also i try this way: ott.net/knowledge/htc-desire-adhoc/ but when go to execute "iwconfig" the "better terminal" or "adb shell" says "permission denied".
And yes, I have root access
Click to expand...
Click to collapse
You can't gain Read/Write access to /System, Read-Only Access.
You can get access in Recovery Mode though.
Unfortunately the fix does not work after boot anyways, due to the /data/misc/wifi/wpa_supplicant.conf being defaulted to not show AdHoc by the original wpa_supplicant.conf in /system after a visit in WiFiManager. I suggest you modify that one instead to always remember your network and settings. Tricky, but works.
Hello to all,
I have just tried to overwrite the wpa file in data/misc/WiFi with the one patched and I changed the name but nothing works!!!
Please help!
Sent from my HTC Desire using Tapatalk
No Answers?
Help us
Found another solution.
Get hold of the iwconfig / ifconfig binaries.
Shut off WiFi first!
Code:
su
insmod /system/lib/modules/bcm4329.ko
iwconfig eth0 mode ad-hoc
and there you go. A interface you're free to do what you like with.
Got it working with my laptop by following up with
Code:
iwconfig eth0 essid [U]ad-hoc_test2[/U]
If coded, use:
Code:
iwconfig eth0 key [B][U]your passkey here[/U][/B]
Then a bunch of stuff for the IP, SubNet, GW, DNS
Code:
ifconfig eth0 [U]192.168.1.10[/U] netmask [U]255.255.255.0[/U]
route add default gw [U]192.168.1.1[/U] dev eth0
setprop net.eth0.dns1 [U]208.67.222.222[/U]
Adjust underlined with your own config.
I need help with this.
First, I should mention that I am a Noob in this, so please be patient.
I have rooted my HTC Desire with unrevoked 3.1 and do get a popup whenever an application is trying to get superuser permissions.
Also, I downloaded the Android SDK and can connect to my device by
Code:
adb devices
adb shell
su
What does not work for me is the
Code:
adb remount
command in the PC command prompt but I managed to mount the system directory rw with
Code:
su
mount -o rw,remount -t yaffs2 /dev/block/mtdblock3 /system
chmod 777 /system/bin
So, when I the try to
Code:
adb push iwconfig /system/bin
I get a
Code:
failed to copy 'iwconfig' to '/system/bin/iwconfig': Out of memory
What is going wrong here?
P.S.: I found also other solutions like http://szym.net/android/adhoc-wpa-supp.html but have no idea how to apply the patch and the linked solution on the same site http://www.olsr.org/?q=olsr_on_android doesn't work either for me, as the used /system/bin/wpa_cli is simply not on my phone.
I am using stock rom Android 2.2 build 2.11.832.2
OMG: why couldn't anyone mention that one needs to boot the phone into recovery to be able to put files into the system directory.
Now it works, I can run iwconfig.
I can see ad hoc networks now but can't connect.
Installing Debian Squeeze on Android Optimus S - Walk-throughs
This is slowly becoming a larger topic. So for now i will post various ways proven to work on the Optimus S and V as links below:
Installing Debian Squeeze on Android Optimus - Walk-through Compiled by uamadman
Install Debian Squeeze - non-loop sd-ext chroot method (prebuilt!) By bigsupersquid
ALL-Thumbs GUI to replace LXDE By bigsupersquid
4 Steps to Linux on your Optimus S - written by uamadman hosted by uamadman
All of this work was done by other people. I am simply compiling information and specializing it to the Optimus S.
This method does not require a pc, and everything is done through your android interface.
Current Abilities I've tested with success.
Play Sound
Surf the web
Access entire SD Card
Currently Working on:
Flash Support through IceWeasel
Completed:
Making this a simple download and phone restore - Done
Needs:
A GUI with bigger buttons and scaled for 480x320 - Done thanks bigsupersquid
Transparent Keyboard
Sources:
Howto Install Ubuntu by NexusOneHacks.net
secret hidden note to self psychocats.net/ubuntu/nonfree
Lets begin.
You need the following requirements:
Recommended: 2+ gigabytes of free SD card Space (Minimum 1.25gb)
A Rooted Optimus S
Kernel/Recovery: Xionia CWMA v1.2518.6
ROM:The Scott Pilgrim ROM (CM7 Gingerbread, Zefie Edition)
BusyBox Installer - You can get this from google apps store by JRummy16
Linux Installer – You can get this from google apps store by Galoula
Items worth having to things that make this easier:
A Wifi Internet Connection
A fully Charged Battery and a Wall Charger ^.^
2 Bottles of Mountian Dew
Your favorite Movie
and
The Patience to NOT Touch/use your phone for the 2 hours needed to complete the initial install process.
I started this endeavor with a clean install of the ROM listed above.
!!Make backups if you MUST save your data before you proceed any further!!
Warning: In The Simplest Terms(More detail will be in the final walkthrough)
Sometimes the Linux Installer doesn't work or if it is working and the process is interrupted while creating the .LOOP or extracting the build. The Linux Installer will stop working. I've found two (2) ways to fix the issues. The first is to go into setting and clear the cache for Linux Installer, Then open the superuser app and forget the permissions assigned to Linux Installer (Note: Try this a few times before resorting to a clean wipe, this method sometimes takes a few tries). The second is a clean wipe/recovery of the phone. Additionally if for some reason there is a interruption and the process stops. reboot the phone delete linux.loop off your sdcard and start from scratch. BEWARNED
*Walk-through - Under Construction*
To clarify any confusion the button names I use from left to right:
Home : Menu : Back : Search
Pre-Install Check List for Formatting/Reloading Rom
install sdcard with ROM/Recovery's
Reboot > Recovery
wipe data/factory reset
mounts and storage> format system
install zip from sdcard >choose zip from sdcard > update-cm-7-04282011-NIGHTLY
install zip from sdcard >choose zip from sdcard > gapps-gb-20110120
Remove sdcard with ROMS
Install sdcard marked for Linux
mounts and storage > format sdcard
reboot system now
Pre-install Checklist phone prep. (If you choose to overclock your phone this would be a great time to do it)
Wait 2 minutes for phone to fully load
tap droid
tap skip
tap next/done
Settings > Display > Screen timeout > 30 minutes
Settings > Applications > Check Unknown sources (not sure if nessesary)
Settings > Applications > Development > Check Stay awake (Required!!!!)
Settings > Accounts & Sync > Add Account (Go Through Menu's should take you though Market Install)
Market > Search Busy Box > tap BusyBox Installer by JRummy16 > free > ok
Market > Search Linux Installer > tap Linux Installer by Galoula > free > ok
Market > Search vnc > tap android-vnc-viewer Installer by androidVNC team + antlersoft > free > ok
Press Home Key
Apps> Busybox Installer >Allow Permissions> OK > Install
Install Check List
Warning
DO NOT ROTATE YOUR PHONE
ALLOW THE SCREEN TO SHUT OFF
LOCK THE PHONE
WHILE THIS APP IS OPEN UNLESS STATED
(you will see bad things if you do)
For Debian
Apps > Linux Installer > Allow SU Permissions > Allow SU Permissions > Allow SU Permissions > Click OK (First time start up, Yes 3 Approvals. If you don't recieve 3 notifications from super user it means Linux Installer is bugged. Go Settings>Applications>Manage Applications> under the Downloaded tab find Linux Installer > Select > Clear Data > Try step again. May take a few tries.)
Press Menu Key > Tap Setup > Tap File Size > Set to 1250 or more but must be less than the size of your SD Card.> ok > Press The Back Key (Linux installer will exit to your apps menu)
For Ubuntu - Currently bugged. I would avoid this. The source.list seems to have issues and won't download packages.
REQUIRED: Set you phone some where flat plugged into power Do Not Let The Screen Rotate!!!!!Apps>Linux Installer > Tap 1) Create target loop
Be Patient Wait until the Creating LOOP menu disappears. The length of time is dependent on the size of Megabytes set in the File Size option. About 10 minutes for 1500 Mb
Tap Liberate Loop -- Really Fast
Tap Format target loop (ext2) - This is the Buggy Part. If you get an Error message everything is most likely ok. Pickup your phone and Physically Rotate it so the screen rotates. Two additional menu's should appear. [3) Copy and Extract into loop and Install Linux Boot Script]
Lay your phone back down flat it doesn't matter if the screen rotates back to its original.
From here on DO NOT let the Screen Rotate Again! The process will be interrupted and you will get to start from step 1
Tap 3) Copy and Extract into Loop (it will start downloading and extracting the packages necessary to install Linux) This can take up to an hour. On a good 3g connection less than 45minutes.
Tap 4) Install into loop (This takes less than 10 minutes)
Tap Install Linux boot script
30 Seconds Later you officially have a version of Linux installed on your phone
CONGRATS
Verify Install Works
Apps > Terminal Emulator > Type: su > Enter > Grant Permissions > Type: linuxboot > Enter
You should get a string of code then get something like:
[email protected]:/
Most of the next portion comes from the Nexusonehecks.net
Setting up VNC and LXDE (so you don't have to look at terminal lines all day)
Apps > Terminal Emulator > Type: linuxboot > Enter <---If your not already in already.
Type > apt-get update > enter --- 5 minutes
Tight VNC Server
Type > apt-get install tightvncserver > Type y > Press enter --10 minutes
LXDE
Type > apt-get install lxde > type y > Press enter - 30 Minutes+
After a while you should get this screen
Press Menu > Preferences > Control key > Choose Camera Key > Back key > Back Key
Fully Depress the Camera Button Down and Tap the number 9 on the soft key board > Release Camera key > Tap Space Bar -- now two times more
Fully Depress the Camera Button Down and Tap the number 9 on the soft key board > Release Camera key > Tap Space Bar
Fully Depress the Camera Button Down and Tap the number 9 on the soft key board > Release Camera key > Tap Space Bar
The process should continue installing LXDE
tightvncserver Setup
Type> export USER=root > enter
Type> vncserver -geometry 1024x800 > enter
enter password > enter (use something simple you can remember i used 123123123 like they did on the nexusonehacks.net writeup)
verify password > enter
Press Enter after typing each line of the following code. Be Very Slow and Deliberate. Double Check Each line for Capitalization and accuracy before pressing Enter! I do not know how to edit this again --hidden note-->Perhaps some one can show me/tell me how
cat > /root/.vnc/xtartup
#!/bin/sh
xrdb $HOME/.Xresources
xsetroot -solid grey
icewm &
lxsession
Now Press and Hold the Camera Key and Tap D twice on the soft keyboard > Press Enter (it may ask to press 1 do not and only press enter)
If your camera key wasn't set look here to set it again--->Press Menu > Preferences > Control key > Choose Camera Key > Back key > Back Key
Setting up VNC on android ... After all those command lines I'm sure this is a very very nice change xD
Press Home Screen
Apps > androidVNCviewer > For Password enter 123123123 (Or whatever you set it to in the previous server setup)
Scroll to Port and enter 5901
Change the Color Format if you wish. It runs rather nicely on 24bit color but consumes more cpu cycles.
Tap Connect -- A Very Pretty LXDE should appear with a working CPU Monitor and everything nice
I know you want to play but we have a little more work to do this next step uses Terminal Emulator as the auto start/config file to boot linux and start and configure tightvncserver
Press Home
Open Termial > Menu Key > Preferences > Initial Command > Tap to Edit
Make Edit look like this
export PATH=/data/local/bin:$PATH
linuxboot
vncserver -geometry 600x480
Tap OK > Back out of Teminal to home
vncserver -geometry 600x480<--- this is where you change your screen size. you need a minimum of 600x480 to use the synaptic package manager and a few other things. but when i'm surfing the net or other things I prefer 480x320 (The Exact Size of the Optimus S Screen)
Now whenever you want to run linux simply open the Terminal Emulator. Wait 60 seconds for the code to run.
open androidVNCviewer and click Connect
DONE
Extra things go here
apt-get install synaptic - installs synaptic manager a nice GUI interface for the apt-get command
I have been running a Debian chroot on my optimus V for a few months now, squeeze and sid both work fine. I did it manually without the stuff from the market, and I use the sd-ext partition instead of a loop file
per your GUI issues:
I like xfce4 better than lxde on my optimus V.
Code:
apt-get install xfce4 xfce4-goodies
instead of lxde.
oh, also, the OP pointed out to me that
Code:
apt-get install xfce4-goodies
alone will also pull down xfce4 as a dependency (and that I left out the word install which is now corrected.)
modify the /root/.vnc/xstartup accordingly.
replace
Code:
icewm&
lxsession
with
Code:
xfce4-session&
or, you can cut-and paste my complete file here:
Code:
echo "#!/bin/sh
xrdb $HOME/.Xresources
xsetroot -solid grey
export XKL_XMODMAP_DISABLE=1
xfce4-session&" > /root/.vnc/xstartup
I have modified a theme for xfce to be more finger-friendly.
see attachment
decompress that file, it contains a folder, Xfce_large.
place the folder in /usr/share/themes
tap on the rat in the lower-left of the desktop (opens menu)
select Settings by tapping its arrow (xfce is twitchy about the menu through the VNC, it may take a few tries to select items on the main menu.)
select Appearance. Then Style.
Scroll down to Xfce_large and tap it, then tap Close at the bottom.
Voila, oversized scrollbars and menu bar buttons!
If you don't like the size, the settings I modified are in the gtk-2.0 subfolder of Xfce_large in the file gtkrc
the modified settings are not tabbed over like the rest of the settings in the file.
I also changed the default font size, icon size, icon font size, and DPI settings, but that has to be done in the settings menus.
The optimus display is about 120 DPI, the default is 75. 120 looks much nicer I think.
You are awesome
good luck with flash. gnash only plays ads on my V, not whole videos.
get-flash-videos from google code works nicely, but it's a capture utility.
it does try to play with mplayer, but only shows a couple of frames per few seconds because the VNC display method of manually copying the framebuffer is very slow.
using a bandwidth meter (debian package cbm to be exact) the vnc uses from 14 to 80Kb per second of system bandwith on device l0.
I don't know what's pegging your CPU use, mine only tops out when the debian system is doing something. I built my chroot with debootstrap instead of using the market installer, no telling what is preinstalled on the image it downloads.
I am going to try this out once i'm finished trying to get the ubuntu side of the house working.
Can I append this to my post here and androidcentral with proper credits due to you so all may share?
uamadman said:
...Can I append this to my post here and androidcentral with proper credits due to you so all may share?
Click to expand...
Click to collapse
certainly. just test the instructions for functionality before adding them in.
I considered starting a thread on this myself but never got around to it.
I'll continue to contribute info as this develops.
as an extra, here's a link I've posted, a few places on both forums, with a clean debootstrapped debian filesystem, tarred up to shrink it for download.
I goofed a bit when compressing it though, when decompressed it's a single folder containing the filesystem.
http://www.4shared.com/file/iWuUtZgS/squeeze_05_2011tar.html
uncompressed, 9645 items, totalling 264.3 MB
compressed, 116.3 MB (121929580 Bytes)
this will either need the contents of the freshsqueeze folder it contains copied to an ext2 (or ext3/ext4 if you want to brave the damage from journalling on a SD card, which seemed to cause corruption when I tried ext4) partition on your SD card, or, copied into a blank loop ext filesystem if you prefer.
with an empty debian img file mounted as a loop filesystem on a linux box, you can copy everything from the freshsqueeze folder to the loop filesystem by:
Code:
cp -av /path/to/freshsqueeze/* /path/to/loopmountedimg
the loop filesystem method should allow you to continue using your startup scripts as-is, they'll need slight modifications to work with an ext partition like I'm using.
its resolv.conf and sources.list are already configured for 3g access and the main Debian repository, so it's pretty much plug-n-play. no extra packages are installed, you'll need to apt-get tightvncserver and a window manager of your choice, unless you just want the bash shell.
the first time you chroot in, you should use passwd to set a root password, and adduser to get a non-root account on there.
this is not a loop filesystem like what you are using. it is a full directory tree of a base squeeze install.
I would like to see this on the V.its my only phone right now.if I had 2 I would try it.
Sent from my BumbleV using XDA Premium App.
ummkiper said:
I would like to see this on the V.its my only phone right now.if I had 2 I would try it.
Sent from my BumbleV using XDA Premium App.
Click to expand...
Click to collapse
I don't think a chroot can hurt your phone. I even run mine bind-mounted into the root filesystem, with system r/w, and haven't ever had any problems a reboot didn't solve. and it's been since April since I had a forced reboot from running stuff in debian.
now, I don't know about the installer from the market, if it asks for root access multiple times, I'm not sure just what it's doing. I'll post my sd-ext startup script and instructions for using it here after dinner if you want to try it that way instead of with the installer app.
honestly, it's a much simpler process than the OP, but, hey, if it works, I'm not one to dismiss the method out-of-hand.
bigsupersquid said:
I don't think a chroot can hurt your phone. I even run mine bind-mounted into the root filesystem, with system r/w, and haven't ever had any problems a reboot didn't solve. and it's been since April since I had a forced reboot from running stuff in debian.
now, I don't know about the installer from the market, if it asks for root access multiple times, I'm not sure just what it's doing. I'll post my sd-ext startup script and instructions for using it here after dinner if you want to try it that way instead of with the installer app.
honestly, it's a much simpler process than the OP, but, hey, if it works, I'm not one to dismiss the method out-of-hand.
Click to expand...
Click to collapse
Sounds good to me.
non-loop sd-ext chroot method (prebuilt!)
Standard disclaimer:
These scripts and chroot method may bork up your phone, trash your userdata, destroy system files, get you slapped by your mother, make your phone catch fire and/or explode, and etc., ad nauseum.
Use at your own risk.
MAKE A NANDROID BACKUP BEFORE DOING THIS!
You'll probably be just fine, but it's nice to have a backup in case something goes haywire.
Disclaimer aside, it's worked great for me since March, hasn't crashed for months, and I use it multiple times per day.
My main inspiration was Saurik and his Debian & Android together on G1.
I'm sorry that I can't point to all the many, many sources I read through over the couple weeks it took me to get this set up, I took little bits from here, there, and everywhere, but Saurik's work was the main core of this system.
Apologies if you see some tidbit of your work in this... let me know and I'll be happy to give you credit.
Dysfunctions:
things that don't work while the chroot is running:
wifi hotspot in aospCmod and Bumblebee won't initialize; does work during chroot in aospCmod if turned on before chroot, though.
network info II app won't start during chroot; if opened before chroot it's fine.
ringtones on SDcard don't work in Bumblebee; but OI File Manager can read the sdcard during chroot.
these things still work ok once the chroot is exited on aospCmod. The chroot borks wifi on Bumblebee until reboot.
Click to expand...
Click to collapse
Info:
This script remounts / and /system both read/write and leaves them that way until you type exit in the bash shell of the chroot. Without r/w mounting of the / directory, installing Debian packages gives some errors, since it's running in the real root filesystem. Also, the / directory is wiped out on a reboot, so it's relatively safe to have mounted r/w. /system doesn't need to be r/w, I just like it that way, and I haven't had trouble with it since I was first experimenting with this. Feel free to modify the 'boot' script if having /system mounted r/w makes you nervous.
This has been tested on Zefie'sCM7 (outdated) and aospCmodOV ROMs.
It also worked on Bumblebee, but not as effectively.
The chroot will not stop Android from functioning. If Debian is busy with something, it will slow Android down, though.
You will still get/can make phone calls, text messages, etc. You can send the VNC viewer to the background and use Android apps while the Debian system is in the background.
Click to expand...
Click to collapse
On to the meat of the matter. I'm using an 8Gb SD card. I advise no smaller than 4Gb unless you just want to do command-line work in Debian and don't need a GUI.
First, these instructions require a Linux pc. On M$ Windoze? Use a Live CD or a virtual box, or you're on your own.
The first part of these instructions is to be completed on your pc. I'll let you know when to switch to the phone.
1) Mount your <empty> SD card on the pc. If it's not empty, back it up, because this will wipe it out. You'll need at least two partitions on it, three if you're using something like apps2sd (which I'm not using, and not really familiar with, so this tutorial is set up assuming you don't need to dodge an existing ext partition,) and another if you have a swap-enabled kernel and want to use it.
2) Use Gparted or a similar tool to partition the SD card. First partition FAT32 for Android, whatever size you feel you need. I'm using 1Gb.
Second partition is an ext2, ext3, or ext4 partition. Apps2SD style, you know what size and filesystem type you need here, I don't. For Debian on the 2nd partition, I advise 3Gb or more, ext2. ext4 corrupted my files, so I switched back to ext2. If you need an apps2sd partition, Debian will go on the 3rd partition, and you'll have to modify the two attached scripts accordingly.
If you're lucky enough to have a swap-enabled kernel, you can make a swap partition; it'll go last, whatever size is left. 256Mb-1Gb should be plenty depending on whether you use image processing or large compiling projects or some other memory hogging programs.
3) Mount the sd FAT32 and Debian ext partitions on the pc.
4) Download to your pc the base Debian Squeeze filesystem which I've debootstrapped, configured, and uploaded for you to save hours of hassle.
Also download to the same directory the two attached script files.
boot.txt
firstrun.txt
5) Open a ROOT shell. You need root privleges to untar the filesystem and retain its permissions. If you don't have a root shell, put sudo in front of the tar and cp-av commands.
6) cd to the directory you downloaded the squeeze_05_2011.tar.gz into. then type
Code:
tar -zxvf squeeze_05_2011.tar.gz
cp -av ./freshsqueeze/* /full/path/to/sdextDebianpartition
sync
and wait for it to finish.
7) type
Code:
cp ./boot.txt /full/path/to/sdFAT32partition/boot
cp ./firstrun.txt /full/path/to/sdFAT32partition/firstrun
sync
8) Now is the time to copy back the stuff you backed up from the SD card to the FAT32 partition, and any apps2sd style stuff if you have it. Then unmount your SD card and put it in the phone.
Now all remaining steps are done on your Optimus. You're finished with the desktop pc.
9) Open a terminal on your Optimus. I like SL4A, but Terminal Emulator works well too. Both are free.
10) Next step merges your existing Android system files into the Debian partition. This is neccesary because I haven't compiled a kernel and don't know of one for the Optimus with UFS enabled. So, Debian gets bind-mounted over the Android rootfs ( / directory) and having the Android system files accessible in the Debian filesystem is required to keep them playing nicely together, while protecting the original Android files from Debian at the same time.
Code:
sh /sdcard/firstrun
You won't need this script ever again unless you change ROMs and/or need to reinstall Debian. Changing ROMS without reinstalling a fresh copy of Debian may mess things up a bit since system files vary between ROMs and you'll still have the Android files from your previous ROM in your Debian filesystem.
This script and the 'boot' script are both listed at the bottom of this post if you want to read 'em.
11) Next, remount system r/w, copy the 'boot' file to /system/xbin and chmod 4755 /system/xbin/boot. If scripts are in /system/xbin and executable, you can run them with 'su -c'
Code:
su
mount -o remount,rw /system /system
cp /sdcard/boot /system/xbin
chmod 4755 /system/xbin/boot
mount -o remount,ro /system /system
OK, a basic Debian filesystem with no extra packages is now installed!
my Debian filesystem is on my 2nd sdcard partition. The comments in the 'boot' script should explain how to use another partition if you have apps2sd running or somesuch (I don't have many Android apps on my phone so don't need/use apps2sd function)
to use the script as-is, your linux flavor should be in the 2nd card partition. I use Debian, but any Debian-based distro should work, for example Ubuntu or DSL.
open a terminal and type
Code:
su -c boot
don't kill the terminal app... leave it running in the background.
when you're finished with linux, reopen the same terminal and type
Code:
exit
to cleanly dismount your linux. No reboot required!
Before you exit the first run of your new Debian system, you should download some packages. I advise tightvncserver, xfce4 (and xfce4-goodies if you want the extra glitz like a cpu monitor, bandwidth monitor, and such, without hunting the individual packages) and iceweasel so you can have a real rebranded firefox on your Optimus.
Code:
apt-get update
apt-get install tightvncserver xfce4 xfce4-goodies iceweasel
It'll take a while to download all that. Lots of data.
Once it's done downloading, configure tightvncserver.
Code:
vncserver
It'll ask you for a password. Choose one that's easy to remember. You'll need to enter it in the VNC viewer as well (next step)
IMPORTANT!
tightvncserver will ask you if you want a view-only password. Tell it no!
next:
Code:
vncserver -kill :1
to politely exit the vncserver. Otherwise you'll have to exit the chroot, reboot the phone, and run the 'boot' script again or it'll open server :2, :3, and so on each time you type vncserver. Each instance will eat more CPU, RAM, etc.
configure /root/.vnc/xstartup
Code:
echo '#!/bin/sh
xrdb $HOME/.Xresources
xsetroot -solid grey
export XKL_XMODMAP_DISABLE=1
xfce4-session&' > /root/.vnc/xstartup
after that,
you should use
Code:
passwd
to set a root password, and
Code:
adduser
to get a non-root account on there.
Code:
exit
will close the chroot. You can close the terminal after that until you're finished setting up the VNCviewer and want to start your lovely GUI.
Now, set up the VNC viewer like in the OP. Make sure your password matches the one you gave tightvncserver!
I advise 24 bit color. It slows things down ever so slightly, but to me, it's well worth the increase in eye candy you get over 8 bit.
most of the tutorials on the VNC suggest modifying the /root/.bashrc file to start the vncserver automatically (like here on xda) but I don't like that myself. I use the shell a lot, and the vncserver eats system resources. So, I manually start and stop the vncserver from the command line.
Code:
vncserver
to start, it defaults to a 1024x768 which seems to make programs happier than the 480x320 phone native resolution.
Code:
vncserver -kill :1
to stop it politely. Otherwise a phone reboot is required to get rid of vncserver files (by clearing out everything in the / directory which isn't replaced by the boot.img ramdisk) which make it open desktop :2, :3, and so on each time you run the program.
One major advantage to the bind-mounting in the rootfs is that Thunar works as a root explorer, and has access to the entire Android filesystem (except for the bind-mounted Debian directories, which hide the Android directories underneath, including /system/etc which is symlinked to /etc by the boot.img ramdisk,) as well as the complete Debian filesystem.
Pretty much everything I've tried works, unless it wants speed from the display. The VNC just slows that down way to much to use for video or games or suchlike. I'm working on native window support for X, but I need more practice in C to get it done.
Iceweasel works great, if a little slow, a rebranded full firefox on an ARMv6 device that mozilla won't release an apk for its wussy mobile version on. Go figure. The biggest problem is finding plugins compiled for ARM, the 'get plugin' button send you to sites offering x386 versions of the plugins. Yuk.
Icedtea open source java works fine.
Gnash plays ads but not videos.
Gimp works well.
Qemu works!
Eclipse even installs and runs (very slowly)
get-flash-videos captures flash exceptionally well. combined with an Android video player for .mp4 files, you can download and watch flash from lots of places, just not streaming.
alsa audio works through Iceweasel. Played audio clips from yodajeff.com just to test it.
3g works great.
Wifi detects the connection with iwconfig, I haven't tried sending data through it but the way 3g plugs right in I bet that wifi works equally well.
Since wifi and 3g work out of the box, I bet bluetooth would too with some config, but it needs extra packages to see the functionality.
The network meter plugin for xfce works. The device is rmnet0.
The cpu meter plugin also works.
At one point I had the battery meter from xfce-power-manager working but my last install broke it somehow. Ah, well.
once it's all together
open a terminal
to start it up:
Code:
su -c boot
for a gui,
Code:
vncserver
to kill the GUI,
Code:
vncserver -kill :1
to exit the chroot,
Code:
exit
the first time you run the GUI, you might want to add my Xfce_large theme to make the scrollbars and menubars easier to hit on the touchscreen. See the earlier post.
hopefully this helps people out. I spent quite a while getting it just how I wanted it, many googlings and picking bits from here and there.
contents of the scripts follow.
firstrun
Code:
#make /sd-ext directory if it doesn't exist
if [ ! -d /sd-ext ]
then
mkdir /sd-ext
fi
# mount 2nd sdcard partition
# if your linux is on a different partition than 2, substitute that number for the 2 in .../mmcblk0p2 below
# first unmount it; if not already mounted, system will echo 'umount: can't forcibly umount /dev/block/mmcblk0p2: Invalid argument' but this isn't an error to worry about
umount -l /dev/block/mmcblk0p2
mount -o noatime,exec,suid /dev/block/mmcblk0p2 /sd-ext
#copy files from Android to Debian without overwriting anything
yes n | cp -aiv /etc/* /sd-ext/etc
yes n | cp -aiv /root/* /sd-ext/root
yes n | cp -aiv /sbin/* /sd-ext/sbin
yes n | cp -aiv /sys/* /sd-ext/sys
boot
Code:
# debian lives here
export mnt=/sd-ext
# remount / and /system rw
mount -o remount,rw / /
mount -o remount,rw /system /system
# make new subdirectories in / for binding
for x in \
bin boot home lib media \
opt selinux tmp usr var
do
mkdir /$x
done
#make $mnt directory if it doesn't exist
if [ ! -d $mnt ]
then
mkdir $mnt
fi
# mount 2nd sdcard partition
# if your linux is on a different partition than 2, substitute that number for the 2 in .../mmcblk0p2 below
# first unmount it; if not already mounted, system will echo 'umount: can't forcibly umount /dev/block/mmcblk0p2: Invalid argument' but this isn't an error to worry about
umount -l /dev/block/mmcblk0p2
mount -o noatime,exec,suid /dev/block/mmcblk0p2 $mnt
# cleanup last session's tmp files, including last VNC session
rm -r -f $mnt/tmp
mkdir $mnt/tmp
# bind mount debian directories to /
for x in \
bin boot home lib media \
opt selinux tmp usr var \
etc root sbin
do
mount --bind $mnt/$x /$x
done
# set some system variables
export PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/etc:/sys:$PATH
export TERM=linux
export USER=root
export HOME=/root
# mount proc,sys,devpts
umount -l devpts
mount -o remount -t proc proc /proc
mount -o remount -t sysfs sysfs /sys
mount -t devpts devpts /dev/pts
# softlink framebuffer (for future use,) and existing mounts
ln -s /dev/graphics/fb0 /dev/fb0
cat /proc/mounts > /etc/fstab
cat /proc/mounts > /etc/mtab
# 'boot' with chroot into debian bash shell at /
chroot / /bin/bash
# done now, clean up after exit to keep Android happy
# remove softlinks and replace backed up mtab and fstab
rm /dev/fb0
cd /
# unmount subdirectories
for x in \
bin boot home lib media \
opt selinux tmp usr var \
etc root sbin
do
umount -l /$x
done
# remove non-Android subdirectories
for x in \
bin boot home lib media \
opt selinux tmp usr var
do
rmdir /$x
done
# remount / and /system ro
mount -o remount,ro / /
mount -o remount,ro /system /system
That is an excellent write up. Link added to first post.
appreciate the compliment.
it took two hours to type up and another two to redo it all after firefox crashed on my pc right as I was finishing.
if anyone notices issues or errors in it, let me know and I'll try to fix 'em.
I'll try to help out if anyone has problems getting it working, odds are I missed some detail or typo.
well it took me all day to install ubuntu on this pc to find out it was my video card so im using the built in video on the mb and it worked.I will be doing this tomorrow as its 2am here now.ive never had a problem installing ubuntu before lol.the live cd would just freeze no matter which flavor of linux i used.
ummkiper said:
well it took me all day to install ubuntu on this pc to find out it was my video card so im using the built in video on the mb and it worked.I will be doing this tomorrow as its 2am here now.ive never had a problem installing ubuntu before lol.the live cd would just freeze no matter which flavor of linux i used.
Click to expand...
Click to collapse
eek.
I don't really like ubuntu much, it reminds me too much of Windoze, all bloated up and running a bunch of stuff I never told it to
but I put it on after reading dev reccomendations to use it when making the final switch from windoze, and now I only use it for watching dvds and the stupid digital tv the broadcasters switched to a while back to obsolete everyone's receivers (use an hvr950 usb tuner, which I had to force an older driver into the kernel to get working.)
put debian on the pc to dev with, much less gripey and intrusive, but trickier to configure.
ummkiper said:
well it took me all day to install ubuntu on this pc to find out it was my video card so im using the built in video on the mb and it worked.I will be doing this tomorrow as its 2am here now.ive never had a problem installing ubuntu before lol.the live cd would just freeze no matter which flavor of linux i used.
Click to expand...
Click to collapse
I have yet to get Ubuntu running nicely on a android. I'm sure i'll figure it out soon enough. I'm donating close to 2-4 hours a day to this right now. I hope i can get everything running how i like without learning how to write my own code... which would take forever ...
oh i dont want it on android i just wanted it on my desktop but it appears my desktop has issues while everything works fine in windows ubuntu still freezes or restarts the gui.i have xubuntu on my ibm thinkpad its slow but runs its ubuntu with xfce so i guess ill use my laptop to do this and keep win on my desktop.
ummkiper said:
oh i dont want it on android i just wanted it on my desktop but it appears my desktop has issues while everything works fine in windows ubuntu still freezes or restarts the gui.i have xubuntu on my ibm thinkpad its slow but runs its ubuntu with xfce so i guess ill use my laptop to do this and keep win on my desktop.
Click to expand...
Click to collapse
it shouldn't really matter too much what machine you use to set things up, the key things you need are a way to untar the premade filesystem, ext2 support, and a usb port to transfer files to the phone.
you could download the files in windoze if your laptop lack web access.
you <might> be able to use a windoze utility to format the first part of the SD card with a small FAT32 partition, then use CWMA recovery to add an ext2 partition to the card, then extract with 7zip on windoze into the ext partition.
I used to have a freeware program to add ext2 support to windoze, but it's buried on one of my old 500Mb harddrives in a box somewhere. bet you could google something like that up if your laptop gives you trouble.
cp ./boot.txt /media/disk/boot
cp ./firstrun.txt /media/disk/firstrun
sync
cp: cannot stat `./boot.txt': no such file or directory
cp: cannot stat `./firstrun.txt': no such file or directory
yeah um i dont see these files in the tar and this is the errorr im getting so where do i get these 2 files from
ummkiper said:
cp ./boot.txt /media/disk/boot
cp ./firstrun.txt /media/disk/firstrun
sync
cp: cannot stat `./boot.txt': no such file or directory
cp: cannot stat `./firstrun.txt': no such file or directory
yeah um i dont see these files in the tar and this is the errorr im getting so where do i get these 2 files from
Click to expand...
Click to collapse
I made the tar some time back.
boot.txt and firstrun.txt are attached to the bottom of the instructions.
edit: per ummkiper's suggestion I have also linked the attachments right after the filesystem link.
I've made this thread for anyone new to Android that, like myself, took it upon themselves to root their device and then install custom mod
Samsung Odin Download Mode Drivers (MUST have this or Kies, your choice.)
Odin 1.85 (Current version as of this guide)
CWMR5x_i927_recovery.tar.md5 (This is ClockWorkMod and you must install it to facilitate flashing a custom rom later)
Order of operations. Boot into Odin on the device (Vol UP + PWR), start Odin on the PC. Click "PDA" button, throw in CWM .tar.MD5 file, do not alter any other settings and click Start. Phone will reboot. Next, flash it with a rooted ROM. Search Devel forums; something stock (AT&T for me) that is rooted. We're not going MOD at this point, just giving ourselves access to the phone that our carrier would otherwise reject.
I fought for a very long time (hours) with "Unknown Device" in Device Manager and neither the ADB (Android Debug Bridge) nor any Samsung driver would help at all. Installing the Samsung drivers (or Kies) was the fix; it installed the special driver that Odin (Download Mode on the phone) needed to converse via USB.
Second item I fought with was hung/frozen Odin NAND writes. I still don't have a good "fix" for this except that I moved the USB connection to the back of my computer rather than it being plugged into the front. Both are root hubs. If anyone wants to chime in, go ahead. Running Odin as Administrator did not make any noticeable changes on my end either.
Finally; I flashed with boot.tar (a CarrierIQ-free kernel in the dev forum) ClockwordMod and finally a rooted mod for use with AT&T in that order. I could have probably skipped the boot.tar flashing since I used CWM after the fact. I read through at least a dozen threads trying to come up with a solution as to why the rooted mod kept freezing during NAND write and I came to the realization that the Non-CWM kernel was simply rejecting the rooted mod.. this may or may not be true but it makes sense to me.
Below takes you to your own custom mod, stripped down for your pleasure.
i927_OsiMood_v2.01.30.zip (This is version specific, it will undoubtably update)
To boot into Recovery, hold volume down and hit power; CWM will start eventually
Even though I have a MicroSD reader, I never could get CWM Recovery to read the damn thing. Once you've downloaded the OsiMod zip, rename it to update.zip You should be booted into Recovery at this point so scroll on down to "Mounts and Storage" Use Volume Up/Down to scroll, Power to select. Scroll down to the bottom and select "Mount USB Storage" with your USB cable plugged in. Go to My Computer, go to your Android device. Make a directory called Update, whatever. Put update.zip in it. Now back on your android select Unmount and go back to the top menu. Select "Install ZIP from SD Card" and "Choose ZIP from SD Card" then scroll down to your Update directory you made, select update.zip and cross your fingers.
Now you're done, easy peasy. One more thing, you need to add AT&Ts WAP crap.
Settings, Wireless and Network, Mobile Networks, Access Point Names. As of today, you CANNOT delete an entry if you fat-finger it.. so don't. Use the following settings:
Code:
Name: AT&T
APN: wap.cingular
Proxy: leave blank
Port: leave blank
Username:[email protected]
Password:CINGULAR1
Server: leave blank
MMSC: http://mmsc.cingular.com
MMS Proxy: wireless.cingular.com
MMS Port: 80
MCC:310
MNC:410 (note. this could also be 310, 41 or 15)
APN Type: leave blank
And for the gTalk addition, you need the following:
Google Android SDK
GoogleTalk APK Files (Only needed if you use gTalk, OsiMod strips it out and you cannot get it at this time from the market)
I will not go into great detail but you need to download the SDK and run SDK Manager. Install Platform Tools because you'll need Android Debug Bridge to throw commands at it. Read the thread above for instructions how. If you get "Operation Not Permitted" when trying to remount the system partition as RW, you'll have to open an ADB shell and:
Code:
mount -o remount,rw -t yaffs2 /dev/block/mtdblock3 /system
chmod 777 /system /system/app /system/sys
Leave ADB shell (control D or Exit)
Push the two files as instructed. They must be in the working directory you're in at that very moment to get copied from your PC to the android device
Now get back into shell
Code:
chmod 755 /system /system/app /system/sys
Again, feel free to chime in with errors I've made. The above is a method that personally worked for me, there are probably easier ways.
I suggest uninstalling Kies and grabbing the drivers directly from here http://forum.xda-developers.com/showthread.php?t=961956. Then install CWM with Odin and after that you can get root by flashing the rooted kernel by ardatdat. You don't need the rest of the files.
Updated a bit; added a dumbed down instructions for installing OsiMod and gTalk APKs
My APN settings are a little different, I don't think its relevant but i thought i should contribute...
FLASHEX 2.05 (unified release 4)(Release Date: 5/2/2012)
Description
Flashex is designed to allow people using an Android device to watch hulu and some other restricted sites with Adobe Flash Player and a properly configured web browser as if it was a Windows PC. Dolphin HD Stock Browser(choose "request desktop site" in menu each time) is a good choice but any browser that allows you to act as Desktop via settings should work.
Note: Dolphin HD has some issues with full screen video at the moment so I have switched over to useing the stock browser and selecting "request desktop site" from the upper right-hand menu for now this works and has good full screen performance on FlexReaper and Stock ICS 4.0.3.
How it works
The script will look for libflashplayer.so then attempt to create a copy, edit the copy, and copy the edited version back. It stores the edited copy, and writes it over the default file each time it's run. It will check the version of the current libflashplayer.so file each time before it copies the edited version over. If libflashplayer.so's version has been upgraded or downgraded it will make a new copy, edit, write it back and store the new one to use each time. I suggest using Script Manager to run the script at boot once you run it the first time manually to make the first edited copy.
What's New in Version 2.05?
-Added a few more checks for libflashplayer.so to help improve troubleshooting and configuring on different ROMs and to eliminate the possibility of a hang if libflashplayer.so is not readable.
(Still waiting on feed back and/or -x mode debug output reports. feel free post them or better yet PM them to me)
What's New in Version 2.04?
-Added support for Custom BusyBox from CynogenMod (BusyBox 1.19.4-cm9) when testing the Busybox version
What's New in Version 2.03?
-Added checks to verify Busybox location, permisssions, and version to verify compatability and inform the user if they need to update/reinstall busybox or make a configuration change.
-Various minor refinements.
-Can now safely be test run on ANY device since it will verify the location of all required elements prior to performing any task.
NOTE: This doesnt mean it will enable hulu on an old 500mhz 2.2 device, just that it should be safe to use to modify Adobe Flash on any device capable of properly running it.(If your Adobe Flash is installed in a diffrent location you will need to configure the script to point it's install directory, or put a copy of your libflashplayer.so file into the Flashex2 directory and name it AND_libflashplayer.so and copy the resulting WIN_libflashplayer.so back by hand if you prefer.)
What was new in Version 2.02?
-Fixed various typoes in output messages
-Added a fix for people having issues with strings, grep etc returning as not found when /system/xbin is either not in the users default $PATH or is too low in the list to get used.
What was new in Version 2.01?
-Many minor bug fixes
-Scripts have been unified into a single script.
-Made some changes to how version checking is done
-Script is safer, more reliable, and easier to use over all.(at least IMO hehe)
-Automatic re-edit of edited source file, when either an upgrade or downgrade is detected. This allows the script to be run at boot via Script Manager, or other while still leaving, Adobe Flash to auto update.
-Script is now a single executable file that will both hex edit Adobe Flash(each update), and copy the edited file over to /data when needed.
-Improved version detection
-Improved output messages
Some notes on running during bootup
Once you have decompressed the Flashex2 folder and flashex.sh script to /mnt/sdcard/Flashex2 you will be able to run it automatically at boot via Script Manager if you wish. I currently have been using it this way. I have tested it performing the hexedit during a boot up. It works fine.
Known Limitation
Note: This only applies to auto-running the script via Script Manager, Cron, what ever It takes about 2 minutes with a Tegra 2 to complete the hexedit of the file.
Because of this when booting after an update to libflashplayer.so it will be editing the file for a min or two after your home screen shows. You will want to wait 3 min or so to be safe before you try to use Adobe Flash. This will ONLY happen when the version changes. Since Adobe Flash isn't changed that often it's not a big deal.
The rest of the time, it will be the same version so it will just take a few seconds to copy the file over. This allows you to just watch when you like even right after a system boot.
Install Instructions
Quick Directions:
Download file, unzip/extract the Flashex2 folder and it's contents, copy it to the sdcard to end up with /mnt/sdcard/Flashex2/flashex.sh. Run flashex.sh as root. Set web browser to Desktop. Enjoy watching hulu.
Full Directions:
When using Flashex205.zip via a File Manager like Astro for example.
1) Either download Flashex204b.zip directly to your tablet, or copy it to a micro SD card via PC.(note: you could unzip the contents in Windows if you prefer)
2) Save, Copy or Move Flashex205.zip to /mnt/sdcard/ It has a folder inside already of the correct name.
3) Open Flashex205.zip, then copy/paste the whole folder to /mnt/sdcard/
Note: After you do this you should have a folder named Flashex2 on your internal sdcard example: /mnt/sdcard/Flashex2
4) Inside the Flashex2 folder from the zipfile is flashex.sh
5) run flashex.sh either via terminal emulator or with an app like Script Manager.
The script "can" be run without root, BUT it will only make the hexedited file. It MUST be run as root if you also want the script to install the edited file so you can watch hulu. You can also copy the file by hand.
When using flashex205.tar.gz via a terminal emulator do the following.
1) Either download the file directly to your tablet, or copy it to a micro SD card.
2) Copy or Move the file to /mnt/sdcard/
example(copy): cp /mnt/external_sd/flashex205.tar.gz /mnt/sdcard/
example(move): mv /mnt/external_sd/flashex205.tar.gz /mnt/sdcard/
3) unzip and untar the Flashex folder and flashex.sh script from flashex205.tar.gz
gzip -d /mnt/sdcard/flashex205.tar.gz
tar -xvf /mnt/sdcard/flashex205.tar
Note: If you get an error saying not found. Your trying to install it in a diffrent location then it's currently configured you can probably figure out how to make it work easy enough. Just remember to set the path to the script inside the script it's self so it knows where make/read the edited file.
4) Now change working directories and run the script.
cd /mnt/sdcard/Flashex2
5) Run the script(su is optional, but running as root it wont copy the edited file over)
su
sh flashex.sh
Note: I suggest using sh before the script name though it's not nessesary if the path to sh at the top of the script matches yours.
Confirmed Compatable Device List(Make sure you are rooted if you want to use the script to install the modified file)
Acer Iconia A100, A200, A500 HC or ICS, FlexReaper ------ Use Latest Version
Samsung Galaxy S 4G rooted modified Gingerbread 2.3 --- Use Latest Version
Samsung Galaxy Nexus LTE ----------------------------------- Use Latest Version
Asus Eepad Transformer Prime ------------------------------- Use Version 2.2 or Latest Version
Motorola Droid Razr ------------------------------------------- Use Latest Version
HTC EVO 3D --------------------------------------------------- Use Latest Version
HTC EVO 4G running mikg v11 ------------------------------- Use Latest Version
Note: Any Device that is compatable with Adobe Flash and capable of playing hulu videos(500 Mhz or better ARM7 CPU 256 MB ram, Android 2.2 or better) that has been rooted and has busybox installed should be compatable
If you are attempting to use a Busybox older then v1.18.1 You will have to change a value at the top of the script before attempting to run it since I'm not sure how old of versions are 100% compatible.
===============================================
ATTN: SUPPORT, QUESTIONS, COMMENTS
If you need help getting it to work for your device and cant post in this section you can follow this
->SUPPORT LINK HERE
You can PM me or you can also try me on Twitter
Legal Info
Flashex205.sh was made by NoSudo for personal use
anyone may use it or change it but I retain creative
licence for my work. You should only take credit for your
changes.
I take no reponsablility for anyone elses actions. If you break
something or violate any rules it's on you.
If you wish to try and make money on it or use it for any comercial
venture I expect to be contacted and informed so I may negociate
an acceptable for profit licence with compensation.
This software is FREE and yours to enjoy, give away, edit, use for Non-Profit purposes ONLY.
A NOTE ON VERSIONS!
I recommend the use of the latest version Flashex204.sh. If you have old versions installed. MAKE SURE YOU RUN THE RIGHT ONE. It's up you to reconfigure Script Manager etc. so don't forget or it will keep running the old one.
ALSO Please remember to hit that Thanks button if you find my script useful.
I have been doing a little version testing.
I can confirm that flashex v2.01 does edit other versions so far I have tested it with. I just tested with 11.1.115.7 and it works fine via xxd. Im going to test on Android with Busybox's hexdump next.
I can also confirm that it works on 11.1.111.8 since my tablet just auto-updated. I simply ran the script and updated my hexed version from 11.1.111.7 to 11.1.111.8 as designed.
Just tried the new version and still a no go. See the pic for the full error.
Ran with terminal emulator, gscript, and root explorer. Same error for all.
And you have the .so file from the old version thread.
.so path: /data/data/com.adobe.flashplayer/lib/libflashplayer.so
ICS Leak .012.
busybox 1.19.3
Joecascio2000 said:
Just tried the new version and still a no go. See the pic for the full error.
Ran with terminal emulator, gscript, and root explorer. Same error for all.
And you have the .so file from the old version thread.
.so path: /data/data/com.adobe.flashplayer/lib/libflashplayer.so
ICS Leak .012.
busybox 1.19.3
Click to expand...
Click to collapse
Weard here is the output I got running a test edit. I used the same 2.01 script just modified so it doesn't write to my adobe flash. Kind of sandbox I guess. As you can see it reads and edits it fine. I'll look some more.
Command: '/mnt/sdcard/FLASHEX2_vtest/flashex_vtest.sh'
-------------
Out: $ exec sh '/mnt/sdcard/FLASHEX2_vtest/flashex_vtest.sh'
=================================================
Source Files Doesn't Exist
Destination File: /mnt/sdcard/FLASHEX2_vtest/DST/libflashplayer.so
Destination Ver: Adobe Flash says AND(Androiud) v1111157
Detected READ access for /mnt/sdcard/FLASHEX2_vtest/DST/libflashplayer.so
Created /mnt/sdcard/FLASHEX2_vtest/cache Sucessfully... Checking...
/mnt/sdcard/FLASHEX2_vtest/DST/libflashplayer.so preparing to copy and edit file........
Copy: /mnt/sdcard/FLASHEX2_vtest/cache/libflashplayer_PREMOD looks good =================================================
Preparing to create a hexdump.........
Dont panic...This could take over a minute on a Tegra 2..
Its Converting an 8MB or so Binary on a little tablet...Just wait its fine Created a hexdump of /mnt/sdcard/FLASHEX2_vtest/cache/libflashplayer_PREMOD
=================================================
Preparing to edit /mnt/sdcard/FLASHEX2_vtest/cache/libflashplayer_HEXDUMP..
This might take a minute too.... /mnt/sdcard/FLASHEX2_vtest/cache/libflashplayer_HEXDUMP has been edited... =================================================
Converting /mnt/sdcard/FLASHEX2_vtest/cache/libflashplayer_EDITED to binary...
Binary File: /mnt/sdcard/FLASHEX2_vtest/WIN_libflashplayer.so created...
Checking Binary file /mnt/sdcard/FLASHEX2_vtest/WIN_libflashplayer.so... =================================================
HEXEDIT SUCCESSFUL File: /mnt/sdcard/FLASHEX2_vtest/WIN_libflashplayer.so now reads as Version: WIN 11,1,115,7
Sent from my A100 using XDA
I'm at a bit of a loss as to why it's not working for you Joecascio2000. I'm still looking into it.
I can confirm if I copy your libflashplayer.so v 11.1.115.7 to my device and run the script on it. I AM able to edit the file and get a good binary at the end. I was able to run it via Terminal IDE, Terminal Emulator, and Script Manager.
Going by the error your getting I would say the issue could be related to Busybox. I know you say you have 1.19.3(same as mine)
what happens if you try this from a Terminal
strings /data/data/com.adobe.flashplayer/lib/libflashplayer.so | grep "AND 1[0-2],[0-9]*"
You should get back a list of strings out of the binary, and one of them should say something like "AND 11,1,115,7"
If that doesnt return the correct line, what does this return
strings /data/data/com.adobe.flashplayer/lib/libflashplayer.so | grep "AND 1"
This should return "AND 11,1,115,7" if it doesn't then I would take a closer look at your strings, and grep binaries which would indicate a possible issue with your copy of Busybox or maybe your $PATH as it could effect what version gets used when running a shell command.
I still feel very confused by it working on my device and not on yours with the same file. However I also feel confident that since it works on my A100 we can get it working on yours too without much hassle. We just need to figure out what the deal is.
NoSudo said:
Sent from my A100 using XDA
Click to expand...
Click to collapse
Yeah so weird. I just tried it again after uninstalling flash and re-installing it. Same error. Maybe I'm executing it wrong. This is what I put:
su
sh /mnt/sdcard/Flashex2/flashex201.sh
It does seem to work, just give me an error with the .so file.
EDIT: and both string lines return "no such file or director". I just copy and pasted them in, maybe I did something wrong?...maybe its busybox...?
I just copy and pasted them in, maybe I did something wrong?
Click to expand...
Click to collapse
copy and past of the strings command above should work yes. You can even just run the following
strings /data/data/com.adobe.flashplayer/lib/libflashplayer.so
If that give you bad command or something then you have an issue with either Busybox or your $PATH
$PATH is a special variable that unix/linux/android uses to store the locations of programs like grep, strings, etc. It specifies various directories commands are stored in. If the directory strings is stored in IS NOT in your path the script will not be able to access the command, so I can't say at this point which issue it in fact is, but I'm 99% sure it's one of those two things at this point.
That error is kinda old and can be erroneous. I'll look at that area a little closer later and see.
If you rerun the script after a successful edit it will tell you if it was successful BTW. If /data/data/com.adobe.flashplayer/lib/libflashplayer.so is already edited and is the same version as the WIN_libflashplayer.so Source file it will just print out a message that displays the actual version string from inside both files. The output will look somthing like this
Source File: /2.01FLASHEX_Dev/Lib_Version_Testing/WIN_libflashplayer.so
Source Ver: Adobe Flash says WIN(Windows) v1111157
Destination File: /2.01FLASHEX_Dev/Lib_Version_Testing/DST/libflashplayer.so
Destination Ver: Adobe Flash says WIN(Windows) v1111157
=================================================
It looks like you dont need make any further changes at this time.
Make sure you have set your browser to Desktop in settings(try Dolphin HD)
a
Joecascio2000 said:
Yeah so weird. I just tried it again after uninstalling flash and re-installing it. Same error. Maybe I'm executing it wrong. This is what I put:
su
sh /mnt/sdcard/Flashex2/flashex201.sh
It does seem to work, just give me an error with the .so file.
EDIT: and both string lines return "no such file or director". I just copy and pasted them in, maybe I did something wrong?...maybe its busybox...?
Click to expand...
Click to collapse
It could be. If you don't have a "strings" command the script wont work for you in it's current state. I made extensive use of strings to read info out of the binary files for version checking and to confirm the edit.
The error you got is something you could get from no strings command. It could also just be that the location "strings" is installed if it IS NOT in your $PATH for your ENV this would be a simple fix, in fact I'm tempted to add a PATH="" export PATH line back into the script just in case of stuff like this. I had removed it thinking it overkill.
Two diffrent folks seem to have a Busybox installer available via play.google.com. I use the one from J Rummy because it's only 1.99 for the Pro version instead of 4.99 and so far it has all the features I want and even has 1.19.4 available currently. It sounds like you may just need to figure out the location of the strings command and make sure that directory is exported as part of your $PATH. Let me know if would like assistance figuring this out.
NoSudo said:
It could be. If you don't have a "strings" command the script wont work for you in it's current state. I made extensive use of strings to read info out of the binary files for version checking and to confirm the edit.
The error you got is something you could get from no strings command. It could also just be that the location "strings" is installed if it IS NOT in your $PATH for your ENV this would be a simple fix, in fact I'm tempted to add a PATH="" export PATH line back into the script just in case of stuff like this. I had removed it thinking it overkill.
Two diffrent folks seem to have a Busybox installer available via play.google.com. I use the one from J Rummy because it's only 1.99 for the Pro version instead of 4.99 and so far it has all the features I want and even has 1.19.4 available currently. It sounds like you may just need to figure out the location of the strings command and make sure that directory is exported as part of your $PATH. Let me know if would like assistance figuring this out.
Click to expand...
Click to collapse
When I open terminal emulator the first line reads:
[email protected]:/ $ export PATH=/data/local/bin: $PATH
Also, I can't update busybox because for my current root method 1.19.3 is required.
Joecascio2000 said:
When I open terminal emulator the first line reads:
[email protected]:/ $ export PATH=/data/local/bin: $PATH
Also, I can't update busybox because for my current root method 1.19.3 is required.
Click to expand...
Click to collapse
You don't need a newer version of Busybox I'm running the same version.
it's your $PATH I will post an updated version that includes an Export PATH line to resolve after I eat some dinner.
for now you can copy/paste this into a terminal before running the script. Im guessing if you run that, then the script it will work
PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/system/sbin:/system/xbin:/system/bin:/data/local/bin:/vendor/bin; export PATH
Darn...still isn't working. Lol my tab hates me. See the pic I think its a little different.
here's a link the one below is a little low res: http://i.imgur.com/uP9ZR.png
Joecascio2000 said:
Darn...still isn't working. Lol my tab hates me. See the pic I think its a little different.
here's a link the one below is a little low res: http://i.imgur.com/uP9ZR.png
Click to expand...
Click to collapse
It looks like you might still be missing the strings command. Because it doesnt look like anything is getting passed to grep. It looks like strings didnt run, so grep tried to look for the search expression as a file name.
what do you get if you type
ls -la /system/xbin/strings
or even just
ls -la /system/xbin
I show a symbolic link for /system/xbin/strings that points to Busybox. If it's in another location with your version of Busybox you just need to make sure the strings command is located in the path you use.
If you dont have a strings command at all for some reason since you have the same version of Busybox 1.19.3 you should be able to just make a Symbolic Link in /system/xbin(or what ever space you are configured to use) called strings that points to busybox. All those buxybox commands are symlinks to the same binary file in reality.
NoSudo said:
It looks like you might still be missing the strings command. Because it doesnt look like anything is getting passed to grep. It looks like strings didnt run, so grep tried to look for the search expression as a file name.
what do you get if you type
ls -la /system/xbin/strings
or even just
ls -la /system/xbin
I show a symbolic link for /system/xbin/strings that points to Busybox. If it's in another location with your version of Busybox you just need to make sure the strings command is located in the path you use.
If you dont have a strings command at all for some reason since you have the same version of Busybox 1.19.3 you should be able to just make a Symbolic Link in /system/xbin(or what ever space you are configured to use) called strings that points to busybox. All those buxybox commands are symlinks to the same binary file in reality.
Click to expand...
Click to collapse
Both commands showed: not found, however, I looked in /system/xbin/ and busybox and strings are in that folder. Also, right under strings is ( -> busybox )
Joecascio2000 said:
Both commands showed: not found, however, I looked in /system/xbin/ and busybox and strings are in that folder. Also, right under strings is ( -> busybox )
Click to expand...
Click to collapse
Yep the
strings --> busybox
is the way strings and the other Busybox commands look the
"--> Busybox" is to show what it links to, but the name is still strings. It's sorta like a shortcut in windows in a way.
Anyway that means you should be able to use strings try copy/paste this before you run the script in the same terminal.
PATH=$PATH:/system/xbin; export PATH
that take what ever you currently have for a $PATH and add /system/xbin to it
you can view your $PATH by typing
echo $PATH
Either way if your Busybox is properly installed into /system/xbin this should return a few lines out the binary. Just to confirm it's a working command on your system.
/system/xbin/strings /data/data/com.adobe.flashplayer/lib/libflashplayer.so | grep "AND"
I will come up with an up date to check for the location of Busybox and use hard paths for the commands, later in the week. That should avoid this issue coming up in the future.
First off thank you for helping with my pain-in-the-you-know-what tablet.
But sadly still a no go. I did get some more info though: http://i.imgur.com/oVxBz.png
It showed AND 11,1,115,7.
I think it's either the way I'm putting in the commands or the way my tab is rooted.
Joecascio2000 said:
First off thank you for helping with my pain-in-the-you-know-what tablet.
But sadly still a no go. I did get some more info though: http://i.imgur.com/oVxBz.png
It showed AND 11,1,115,7.
I think it's either the way I'm putting in the commands or the way my tab is rooted.
Click to expand...
Click to collapse
First off, Your very welcome. I actually enjoy this kinda stuff as long as I have time.
Next, Since it DID respond with AND 11,1,115,7 I am sure you CAN use the script, once updated. I will be working on an update this weekend. I may have a revised version made today, if I get an extra hour to dedicate to make the changes.
The issue seems to be, for what ever reason your device is having an issue with /system/xbin not being in your PATH or PATH and ENV not working as it should, BUT since /system/xbin/busybox and the symlink /system/xbin/strings both work when you type the full path, it's not a big deal.
I'm also going to try to write in a feature to test the location and version of Busybox and make sure it lists "strings" as a defined function, so the script can identify and resolve the issue when possible.
Updated Version should resolve any issues with the script not being able to use strings, grep etc on some systems.
Also check here for information on configuring Terminal Emulator to work correctly with Busybox. This I belive would get the old script working for those that had issues also for what it's worth.
NoSudo said:
Updated Version should resolve any issues with the script not being able to use strings, grep etc on some systems.
Also check here for information on configuring Terminal Emulator to work correctly with Busybox. This I belive would get the old script working for those that had issues also for what it's worth.
Click to expand...
Click to collapse
This is with the new version 2.02 and after configuring Terminal Emulator:
http://i.imgur.com/Rb458.png
Joecascio2000 said:
This is with the new version 2.02 and after configuring Terminal Emulator:
http://i.imgur.com/Rb458.png
Click to expand...
Click to collapse
Man I am at a total loss as to what your system is doing. That just doesn't make any sense at all. Are you running the script or Copy/Pasting lines into Terminal? What Busybox are you running anyway, not the version where did you get it? It seems totally defective honestly.
The script should work fine for you at this point TBH. Heck it works for me on my Linux PC too when I change the paths, and swap out xxd for hexdump and change the pattern format.
At this point I can only conclude that either you have a bad version of Busybox or you are doing something wrong.
Here is an example of what I mean
BUSYBOXPATH="/system/xbin"
if [ -e "$BUSYBOXPATH/busybox" ]&&[ -e "$BUSYBOXPATH/grep" ]; then
echo "Found BusyBox in $BUSYBOXPATH"
BSYBX_VER=`$BUSYBOXPATH/busybox | $BUSYBOXPATH/grep "BusyBox v"`
echo "Version: $BSYBX_VER"
else
echo "Unable to confirm location of BusyBox, please configure the script"
exit 3
fi
This statement says if /system/xbin/busybox and /system/xbin/busybox exist to echo "Found" etc.
Your output has those lines, so those commands HAVE to exist in those locations or it would respond with
Unable to confirm location of BusyBox, please configure the script.
However the script is unable to read the Version line off busybox because busybox isnt spitting out anything or maybe it's been modified and no longder displays the correct response. Again even a Desktop PC with Linux on it get's this response from Busybox.
What happens when you just type
/system/xbin/busybox
Do you get anything?
You should get something like;
$ busybox
BusyBox v1.19.3 (2011-11-22 01:37:10 MST) multi-call binary
Copyright (C) 1998-2011 Erik Andersen, Rob Landley, Denys Vlasenko
and others. Licensed under GPLv2.
See source distribution for full notice.
Usage: busybox [function] [arguments]...
or: function [arguments]...
BusyBox is a multi-call binary that combines many common Unix
utilities into a single executable. Most people will create a
link to busybox for each function they wish to use and BusyBox
will act like whatever it was invoked as!
Currently defined functions:
[, [[, addgroup, adduser, adjtimex, ar, arping, ash, awk,
basename, brctl, bunzip2, bzcat, bzip2, cal, cat, chgrp,
chmod, chown, chroot, chvt, clear, cmp, cp, cpio, crond,
crontab, cut, date, dc, dd, deallocvt, delgroup, deluser,
df, dirname, dmesg, dos2unix, dpkg, dpkg-deb, du, dumpkmap,
echo, ed, egrep, eject, env, expand, expr, false, fbset,
fdflush, fdisk, fgrep, find, fold, free, freeramdisk, fsck.minix,
ftpget, ftpput, getopt, getty, grep, gunzip, gzip, halt,
head, hexdump, hostid, hostname, httpd, hwclock, id, ifconfig,
ifdown, ifup, init, ip, ipcalc, kill, killall, klogd, last,
length, less, linuxrc, ln, loadfont, loadkmap, logger, login,
logname, logread, losetup, ls, lzmacat, makedevs, md5sum,
mdev, mesg, microcom, mkdir, mkfifo, mkfs.minix, mknod,
mkswap, mktemp, more, mount, mt, mv, nameif, nc, netstat,
nslookup, od, openvt, passwd, patch, pidof, ping, ping6,
pivot_root, poweroff, printf, ps, pwd, rdate, readlink,
realpath, reboot, renice, reset, rm, rmdir, route, rpm,
rpm2cpio, run-parts, sed, setkeycodes, sh, sha1sum, sleep,
sort, start-stop-daemon, static-sh, strings, stty, su, sulogin,
swapoff, swapon, sync, syslogd, tac, tail, tar, tee, telnet,
telnetd, test, tftp, time, top, touch, tr, traceroute, true,
tty, udhcpc, umount, uname, uncompress, unexpand, uniq,
unix2dos, unlzma, unzip, uptime, usleep, uudecode, uuencode,
vconfig, vi, vlock, watch, watchdog, wc, wget, which, who,
whoami, xargs, yes, zcat
Note: Busybox in Android will have a slightly diffrent list of functions but the version line etc is the same.
NoSudo said:
Man I am at a total loss as to what your system is doing. That just doesn't make any sense at all. Are you running the script or Copy/Pasting lines into Terminal? What Busybox are you running anyway, not the version where did you get it? It seems totally defective honestly.
The script should work fine for you at this point TBH. Heck it works for me on my Linux PC too when I change the paths, and swap out xxd for hexdump and change the pattern format.
At this point I can only conclude that either you have a bad version of Busybox or you are doing something wrong.
Click to expand...
Click to collapse
The command I'm using is
Su
Sh /mnt/sdcard/flashex2/flashex202.sh
I think it might be my version of busybox. I think its a modified version because rooting ICS on the a100 was a difficult process. It also says not to update busybox because root will be broken.
Sent from my A100 using XDA Premium HD app
i looked at these forums and solutions for doing this and none of them worked for me so i'm posting this in case someone knows how to solve this:
I am using nexus 7 2013 with cyanogenmod 10.2.1. i tried both "cifsmanager" and "mount manager" applications to mount my shares (with the right credentials). i also used the following command:
busybox mount -t cifs -o username=[user],password=[password] //192.168.1.91/T /mnt/sdcard/users
all these produce the same error - "mount: invalid argument" when trying to connect to the shared folder.
Have you seen if smbfs rather than cifs works? ( I know smbfs is "old"). There is some relevant info here http://www.netzgewitter.com/2013/10/troubleshoot-cifs-on-android/ on the problems with cifs and Sony Xperia
peterk-1 said:
Have you seen if smbfs rather than cifs works? ( I know smbfs is "old"). There is some relevant info here http://www.netzgewitter.com/2013/10/troubleshoot-cifs-on-android/ on the problems with cifs and Sony Xperia
Click to expand...
Click to collapse
Thanks man!!!!! the "-o unc=" thing soved the issue!
liran corleone said:
Thanks man!!!!! the "-o unc=" thing soved the issue!
Click to expand...
Click to collapse
I guess i was happy too soon - the mount now does work, but i cannot access it with other users. this is how i did the mount:
mount -o unc=\\\\192.168.1.91\\d$,username=developer,password=pass -t cifs none /mnt/cifs/arcade/d
this is the "mount" command output afterwards:
none /mnt/cifs/arcade/d cifs rw,relatime,sec=ntlm,unc=\\192.168.1.91\d$,username=developer,uid=0,noforceuid,gid=0,noforcegid,addr=192.168.1.91,file_mode=0755,dir_mode=0755,nounix,serverino,rsize=61440,wsize=65536,actimeo=1 0 0
Any idea why/how to solve this?
I've had good luck using the cifs module in the ElementalX kernel along with cifsmanager. You don't need to configure anything other than your shares, and maybe set mount point prefix to /mnt/cifs
If you want to mount shares remotely through ssh port forwarding you can specify the port number that you are forwarding to using port= in options. I'm getting ready for work, so I don't have time right now to get the output showing the mount command that it generates, but I can when I get home.
spiked_mistborn said:
I've had good luck using the cifs module in the ElementalX kernel along with cifsmanager. You don't need to configure anything other than your shares, and maybe set mount point prefix to /mnt/cifs
If you want to mount shares remotely through ssh port forwarding you can specify the port number that you are forwarding to using port= in options. I'm getting ready for work, so I don't have time right now to get the output showing the mount command that it generates, but I can when I get home.
Click to expand...
Click to collapse
i cannot use this kernel since i am using cyanogenmod 10.2.1 (i need the wireless ad-hoc connection mode support) so i will need another solution for this...
Well, I checked in /system/lib/modules to see if cifs.ko was there, but it's not. I was thinking maybe extracting the cifs modules from the ElementalX kernel might be possible, but it must be part of the kernel source and not a separate file. Seems like more people would find cifs support useful, so maybe somebody with development skills will make a kernel module file that's compatible with the N7 2013.
Here's what shows up when I run mount:
//192.168.0.100/Music /mnt/cifs/Music cifs rw,relatime,sec=ntlm,unc=\\192.168.0.100\Music,username=username,uid=0,noforceuid,gid=0,noforcegid,addr=192.168.0.100,file_mode=0755,dir_mode=0755,nounix,serverino,rsize=16384,wsize=131007,actimeo=1 0 0
Nevermind.
mdamaged said:
Nevermind.
Click to expand...
Click to collapse
cifs seems to be supported well by cyanogenmod - the mount process is working fine, but the mounted folders are only visible with root priviledges - not to device's applications like poweramp, pdf reader etc.
liran corleone said:
cifs seems to be supported well by cyanogenmod - the mount process is working fine, but the mounted folders are only visible with root priviledges - not to device's applications like poweramp, pdf reader etc.
Click to expand...
Click to collapse
It's private namespaces that's the issue.