Related
Hi my qwerty keys a,q and menu keys are not working.. is there any app or adb way so that i can remap my keys to unused ones.. i searched google but i could not find anything.. Please can anyone help me.. i g1 is rooted 1.6 running cyanogen 4.2.15.1..
Same here, I really don't know whats up with my phone and why it randomly changed mapping but I can't use my phone at all anymore. Anyone know anything on this problem?
my right shift key is in the same situation as you for my g1.
Sorry to say, the only way to do this is to make a custom map for the keys and rebuild the kernel. :/
How can I do that?
Hi
i just found it in some forum , sorry i could not allowed to post the link.. I have tried it its working.. below are the steps to do.. You need to backup your existing keyboard layout.. then change the layout keys then re-upload the files..
below steps are for mapping search key to call key..
1. You have to be root.
2. backup all your files from /system/usr/keylayout/ by runing the following commands in ADB:
Code:
adb shell
mkdir /sdcard/KB_BK
mkdir /sdcard/KB_MODDED
cp -f /system/usr/keylayout/* /sdcard/KB_BK
3. Mount your sdcard as Memory card and COPY the folder /sdcard/KB_BK
4. Edit with notepad++ or wordpad such the keyboard files and change the second element of the key to your likings, CHANGE
Code:
key 127 SEARCH WAKE_DROPPED
key 217 SEARCH WAKE_DROPPED
TO for ex.
Code:
key 127 CALL WAKE_DROPPED
key 217 CALL WAKE_DROPPED
5. save your modification.
6. upload the modified files in /sdcard/KB_MODDED
7. Replace your files from /system/usr/keylayout/ with your modified files from /sdcard/KB_MODDED
Code:
adb shell
su
mount -o remount,rw /dev/mtd/mtdblock6 /system
cp -f /sdcard/KB_BK/* /system/usr/keylayout/
chmod 644 /system/usr/keychars/*
chmod 644 /system/usr/keylayout/*
mount -o remount,ro /dev/mtd/mtdblock6 /system
ATTENTION WATCH OUT FOR THE FILES PERMISSIONS AND BE SURE THEY ARE THE SAME AS THE ORIGINAL
8. Reboot
9. Enjoy
Hope this will help someone..
all credits goes to Geniusdog254 and jay..
nice find
Sent from my Nexus One using the XDA mobile application powered by Tapatalk
How To Deodex Your Device Tutorial
What is odexing?
What is deodexing?
Why you may consider deodexing over odexing.
Disclaimer: This tutorial is meant as a guide for education purposes only. If you decide to take the initiative to perform a deodexing operation on your device a family member’s device or a friend’s device – you (the surgeon) assume all responsibility for you own actions. In other words… Your problems are your own… Read before dissecting!
What is Odexing? – Within the Android Operating System applications come in the form of .APK packages compiled with .odex files that work with the primary application. Odex files are compiled with portions of the main application manifests and hold partial instructions for how this application will boot, how it will run and how it will act within the entire file structure. These odex files hold instruction for an application to pre-boot, pre-launch and how the service (if any) will function. Some assumptions are that the speed of the file system and application will be increased by way of pre launching the application prior to usage. My thoughts on this are that battery usage and memory are also being consumed while you may not even draw on that particular application. Simply put, the Odex file holds a set of functioning instructions for the application it belongs with. Think of it as sort of a pre-buffer and caching at the same time.
What is Deodexing? – Deodexing is the process of removing the child instruction file from the parent file and importing all the information that has been removed from the odex file into the APK. Full freedom to perform on its own without the aid of little odex.
Why may you consider deodexing a file system over having an odexed file structure? – Application modifying can be near impossible with many instructions for a single application existing in various places of the file structure. Consolidating all the functions of an APK in a single location will help to simplify the process.
Are you ready to become deodexed…?
So, get your scalpel ready and let’s begin…
This process will be described working within a Windows environment.
You will need to have a few things in order before we begin:
1) A Rooted phone – (A Must)
2) A working Windows workstation or desktop
3) xUltimate Utility v2.2.1 (see the link from my prior post to download the tool)
http://forum.xda-developers.com/showpost.php?p=12024563&postcount=126
4) Developers SDK toolkit – or – the ability to run adb commands
5) A little time to burn
Let’s get started:
1) Assuming that you have already downloaded xUtility v2.2.1 – unzip the package to a directory you can easily access.
2) Make sure to put your device in debugging mode and plug the USB cable from the PC into your device.
3) You can run the Test.exe to verify that the xUtility sees your device, but it’s not necessary and may cause a doubling effect with adb so that your device won’t be seen – so just execute the Main.exe and wait for the device to communicate with the application.
4) Once your device has been read by the xUtility, answer the questions in the prompts according to your make and model. (You do not need to upgrade to a newer version of xUtility because this is the newer version – regardless of what the application states)
5) Execute Action 1 then follow the instruction at the prompts
6) Execute Action 2 then follow the instruction at the prompts
*Note: For any reason the process fails to begin or hangs during the process – verify that there is only one instance of adb running on your PC or this could result in issues.
*Note: If issues occur, you can always perform an adb pull to the origi_app directory (within xUtility) and then the origin_frame directory (within xUtility)
*Note: This could take some time depending on the size of the directories
7) When the migration is complete - perform Action 3 in xUtility - This will perform the deodexing of the application APKs.
8) When the Application Deodexing is complete - perform Action 4 in xUtility - This will perform the deodexing of the framework APKs. (Mainly Java Files)
9) For safety purposes – backup the files in both the origin_app and the origin_frame directories and put them in a safe place just in case.
10) Close the prompt for xUtility – the process should be complete.
11) Exit debugging mode with your device and enter into mass storage mode. You will need to remove the USB cable before performing this, then plug the USB cable back in once the mode shift has occurred.
11) You should now see your device in Windows as a mass storage drive.
12) Go into the xUtility directory and copy the 2 folders named – “done_app” and “done_frame” to the root of your internal SDCard.
13) Get your command prompt open and get ready to type some code
Just my preference - Prior to migration of the deodexed files I chose to wipe the dalvik-cache from my device to ensure no rouge variant cached instructions would be present after the next boot. – You could CWM into the next soft boot and perform a dalvik wipe if you choose.
At The Command Prompt: Code Below:
adb shell
# su
# stop
# mount -o rw,remount -t ext4 /dev/block/mmcblk1p21 /system
# cp /sdcard/done_app/* /system/app/
# cp /sdcard/done_frame/* /system/framework/
# rm /system/app/*.odex
# rm /system/framework/*.odex
# chmod 644 /system/app/*
# chown root.root /system/app/*
# chmod 644 /system/framework/*
# chown root.root /system/framework/*
# mount -o ro,remount -t ext4 /dev/block/mmcblk1p21 /system
# reboot
After your device reboots it will take longer than usual to load the new file settings – so be patient and don’t panic.
You now have a deodexed device!
If you found this tutorial useful and helpful or you just enjoy reading my posts Show your gratitude by hitting that thanks button on this post.
All the best
Peace-
Liv33viL
Might want to point out that this is completely useless for anyone on a custom ROM.
MikeyMike01 said:
Might want to point out that this is completely useless for anyone on a custom ROM.
Click to expand...
Click to collapse
Might want to say why?
MikeyMike01 said:
Might want to point out that this is completely useless for anyone on a custom ROM.
Click to expand...
Click to collapse
If they knew enough to flash a custom ROM then they should know if the ROM that they flashed was deodexed or not if posted by the developer.
Then they wouldn't be on this thread reading this post unless they wanted a bit of an education on the topic.
Hence making your remark quite pointless!
Liv33viL said:
If they knew enough to flash a custom ROM then they should know if the ROM that they flashed was deodexed or not if posted by the developer.
Click to expand...
Click to collapse
O ye of far too much faith.
opcow said:
O ye of far too much faith.
Click to expand...
Click to collapse
agreed. so many people dont even bother to read the OP on a rom thread and ask if feature X exists, when its clearly labeled as such in the OP
not something I'd be willing to do regardless if my phone has a deodexed rom or not. seems a lot could go wrong if you made a slight mistake especially with running commands on your phone.
but at least I now know what deodexing is now
bunnsguy said:
not something I'd be willing to do regardless if my phone has a deodexed rom or not. seems a lot could go wrong if you made a slight mistake especially with running commands on your phone.
but at least I now know what deodexing is now
Click to expand...
Click to collapse
Yep, didn't know what it was.
You Take Your Shots When the Opportunity Presents Itself
opcow said:
O ye of far too much faith.
Click to expand...
Click to collapse
Yeah, I guess I was reaching on that statement... anticipating the best - but real world scenarios prevail!
What can I say... I prefer to be an eternal optimist.
But the statement was written to read "they should know" like as in if you lick the inside of a freezer door... "you should know" that it is highly likely that one would remain there until the thaw...minus a few layers of skin of course
Basically I got the idea to write this tutorial when reading a few threads whereas many users wanted to make some cosmetic mods to their devices, but really didn't want to jump out of their factory installed file systems. I noticed a few theme developers creating a skin pack for certain features, such as lock screens, docks, etc... and it required a deodexed file system. Many people didn't understand or even know what deodexed meant, let alone some never even heard of the word.
I posted in one of the threads that If I were feeling ambitious that I would create an educational tutorial and guidelines to perform the operation if one was interested... after getting injected with some knowledge.
You Take Your Shots When the Opportunity Presents Itself
Education = Key
Key = Knowledge
Knowledge = Insight
Insight leads to Applied Knowledge
Applied Knowledge = Power
Peace-
Very interesting, I learned a thing or two but of course the guys who really should be reading this are the ones that wont :/
Sent from my SGH-I897 using XDA App
Glad to have another resource just in case I ever decide to start developing my own custom ROM.
Herp derp Captivate XDA app.
Fantastic! - Glad to see an interest in some of the nuances of this file structure.
Peace-
A Common Philosophy
Liv33viL said:
Yeah, I guess I was reaching on that statement... anticipating the best - but real world scenarios prevail!
What can I say... I prefer to be an eternal optimist.
But the statement was written to read "they should know" like as in if you lick the inside of a freezer door... "you should know" that it is highly likely that one would remain there until the thaw...minus a few layers of skin of course
Basically I got the idea to write this tutorial when reading a few threads whereas many users wanted to make some cosmetic mods to their devices, but really didn't want to jump out of their factory installed file systems. I noticed a few theme developers creating a skin pack for certain features, such as lock screens, docks, etc... and it required a deodexed file system. Many people didn't understand or even know what deodexed meant, let alone some never even heard of the word.
I posted in one of the threads that If I were feeling ambitious that I would create an educational tutorial and guidelines to perform the operation if one was interested... after getting injected with some knowledge.
You Take Your Shots When the Opportunity Presents Itself
Education = Key
Key = Knowledge
Knowledge = Insight
Insight leads to Applied Knowledge
Applied Knowledge = Power
Peace-
Click to expand...
Click to collapse
I Agree with you on this.....WELL SAID! And Thank You for the time invested on a great tutorial/ lesson. I too learned a thing or two.
I would like to add four lines of code to the set of commands you type in adb shell
adb shell
# su
# stop
# mount -o rw,remount -t ext4 /dev/block/mmcblk1p21 /system
# cp /sdcard/done_app/* /system/app/
# cp /sdcard/done_frame/* /system/framework/
# rm /system/app/*.odex
# rm /system/framework/*.odex
# chmod 644 /system/app/*
# chown root.root /system/app/*
# chmod 644 /system/framework/*
# chown root.root /system/framework/*
# mount -o ro,remount -t ext4 /dev/block/mmcblk1p21 /system
# reboot
The reason for these additional commands is that when any files get moved to /sdcard, and directories under it, the ownership of the files becomes system.sdcard_rw and the permissions for the files become rwxrwxr-x. When these files are copied back to their original subdirectories under /system, they retain the new ownership and permissions. The original proper ownership and permission for the files before any changes were made was root.root and rw-r--r--. The four commands I added restores them to that original state, and therefore does not create any unintentional security risk. If anyone has already done the procedure. They can fix the files by doing just this in an adb shell.
adb shell
# su
# stop
# mount -o rw,remount -t ext4 /dev/block/mmcblk1p21 /system
# chmod 644 /system/app/*
# chown root.root /system/app/*
# chmod 644 /system/framework/*
# chown root.root /system/framework/*[/COLOR]
# mount -o ro,remount -t ext4 /dev/block/mmcblk1p21 /system
# reboot
ytt3r said:
Very interesting, I learned a thing or two but of course the guys who really should be reading this are the ones that wont :/
Sent from my SGH-I897 using XDA App
Click to expand...
Click to collapse
This statement kind of worries me coming from a developer. Haha.
Wisdom
AA “Information is not knowledge.”
whiteguypl said:
This statement kind of worries me coming from a developer. Haha.
Click to expand...
Click to collapse
I thought the same thing when I saw it.
[OP] Edit: See Edit Tag in OP For Details
rajendra82 said:
I would like to add four lines of code to the set of commands you type in adb shell
adb shell
# su
# stop
# mount -o rw,remount -t ext4 /dev/block/mmcblk1p21 /system
# cp /sdcard/done_app/* /system/app/
# cp /sdcard/done_frame/* /system/framework/
# rm /system/app/*.odex
# rm /system/framework/*.odex
# chmod 644 /system/app/*
# chown root.root /system/app/*
# chmod 644 /system/framework/*
# chown root.root /system/framework/*
# mount -o ro,remount -t ext4 /dev/block/mmcblk1p21 /system
# reboot
The reason for these additional commands is that when any files get moved to /sdcard, and directories under it, the ownership of the files becomes system.sdcard_rw and the permissions for the files become rwxrwxr-x. When these files are copied back to their original subdirectories under /system, they retain the new ownership and permissions. The original proper ownership and permission for the files before any changes were made was root.root and rw-r--r--. The four commands I added restores them to that original state, and therefore does not create any unintentional security risk. If anyone has already done the procedure. They can fix the files by doing just this in an adb shell.
adb shell
# su
# stop
# mount -o rw,remount -t ext4 /dev/block/mmcblk1p21 /system
# chmod 644 /system/app/*
# chown root.root /system/app/*
# chmod 644 /system/framework/*
# chown root.root /system/framework/*[/COLOR]
# mount -o ro,remount -t ext4 /dev/block/mmcblk1p21 /system
# reboot
Click to expand...
Click to collapse
Raj, thank you for providing the additional lines of code. Yes, you are absolutely correct. It was very late.... uhm very early in the AM when I was was proofreading and it didn't pop out at me then. Now, it pops.
The OP now reflects the additions and credit was given to you for the additions in the edit.
Thank you again my friend.
Peace-
This is the tutorial that I'm looking for. I already ask many times how to deodex my captivate but nobody answer it until I find this thread. Two thumbs up.
ps: could you add a video tutorial? I think a video is more informative for me because I don't have any experience with adb so that I little bit confuse if there is a command line using adb.
max_82 said:
This is the tutorial that I'm looking for. I already ask many times how to deodex my captivate but nobody answer it until I find this thread. Two thumbs up.
Click to expand...
Click to collapse
Fantastic Max!
Glad you finally found what you were looking for!
Peace-
Hi there!, first of all, I'm from Argentina, and my english is not so good (sorry!).
If you have a querty hardware keyboard (like all MS2 in Argentina) you must to fix the keyboard layout after updating from Froyo.
What we are goning to do, is replace the keyboard layout files with ones that came with Froyo. I'ts worked for me.
I assume that you are root.
Follow this steps.
1) Download the attachment file and unzip it.
2) Copy the two files to the SDCARD.
3) Open shell via adb and make /system/ writable.
Code:
adb shell
su
stop
mount -o rw,remount -t ext3 /dev/block/mmcblk1p21 /system
4) Copy qwerty.kl to /system/usr/keylayout/
Code:
cp /sdcard/qwerty.kl /system/usr/keylayout/
5) Copy qwerty.kcm.bin to /system/usr/keychars/
Code:
cp /system/usr/keychars/qwerty.kcm.bin /system/usr/
6) Set /system back to read-only and reboot
Code:
mount -o ro,remount -t ext3 /dev/block/mmcblk1p21 /system
reboot
7) That's it, I toked some things from [HOW-TOW] change hardware keyboard from the ms2ginger to qwertz (http://forum.xda-developers.com/showthread.php?t=1216299), thanks to schuck_norrisch.
Altlock working?
In "d alt" is ₤, or $?
Thanks
Sent from my Milestone 2 with GingerBread
PetrusDLX said:
Altlock working?
In "d alt" is ₤, or $?
Thanks
Sent from my Milestone 2 with GingerBread
Click to expand...
Click to collapse
I have the same problem.
I did http://forum.xda-developers.com/show....php?t=1216299 and all the keyboard seems to be ok except the ALT D, wich is £, not $.
Those files correct this?
levicm said:
I have the same problem.
I did http://forum.xda-developers.com/show....php?t=1216299 and all the keyboard seems to be ok except the ALT D, wich is £, not $.
Those files correct this?
Click to expand...
Click to collapse
For me its ok, alt+d is $. I don't now why in your case is diferent. I suppose that maybe the language, i use spanish (spain). Try change it and try again. Please post the results. Tnx
I'm pleased to tell everyone Bluetooth finally works!!! I can't take any credit other than putting together the instructions to get it working and digging all over the interwebs so have a look below!!!!!!!:
Also note, this may work on other Linux setups using the Transformer and possibly other devices using similar instructions and files.
OP for Tubutnu by x3maniac
1. Go to this site and download the gz file. This contains a few missing files we need and it's compile for ARMHF. http://forum.xda-developers.com/showthread.php?t=1476835
2. Extract the contents of the gz to /usr/sbin
3. Go to this site. Copy the code in the box and make a new file called bsp-tf101. Save the file to /etc/init.d. http://forum.xda-developers.com/showpost.php?p=21388706&postcount=1456
4. In Android (or mount the Android file system if it isn't already) copy the file /data/misc/bluetooth/bcm4329.hcd to /lib/firmware. If the file with CAPITAL letters exists like this already in /lib/firmware: BCM4329.hcd you are to delete it or CUT it from that directory (many XDA posts say to get rid of that file. We want to use the lower case file.
5. In Android (or mount the Android file system if it isn't already) copy the file /data/misc/bluetooth/mac.txt to /lib/firmware/brcm.
6. Now, edit /etc/init.d/bsp-tf101. Go to the line that starts with /usr/sbin/brcm_patchram_plus and REMOVE --bd_addr and whatever MAC address is in the file. We are doing this because when you run the service, the MAC will be read from /lib/firmware/brcm/mac.txt.
7. In terminal type "service bsp-tf101 start" NO QUOTES.
8. After the terminal says Done Setting Line Discipline, open your Bluetooth Manager application from Preferences in Lubuntu.
9. Happy scanning and pairing! I successfully connected my GS3 and saw other devices nearby.
Addendum for Bluetooth in Raring
1. Create a file called "tfbatch" or whatever name you want, it does not matter. Save it in your home directory for the moment. Edit your file with nano /home/username/tfbatch with the following lines in it below.
#! /bin/shrfkill unblock 0/usr/sbin/brcm_patchram_plus --enable_hci --baudrate 3000000 --patchram /lib/firmware/bcm4329.hcd /dev/ttyHS2chmod /dev/nv* /dev/tegra_*exit
2. Now copy "tfbatch" or whatever you named it to /usr/bin. You can do (without quotes) "cp /home/username/tfbatch /usr/bin"
3. sudo nano /etc/rc.local
4. Type tfbatch in this file before the line that says exit 0. I'm not sure if you need a space in between tfbatch and exit 0 but put one there just in case.
5. If you haven't done so already, from terminal do the following for these files:
sudo chmod 777 /usr/bin/tfbatchsudo chmod 777 /lib/firmware/bcm4329.hcdsudo chmod 777 /usr/sbin/brcm_patchram_plussudo chmod 777 /usr/sbin/brcm_patchram_plus.c
6. Please note, I understand the security risks of 777 for these files but if you are worried then you must choose something different. Maybe 644 but I don't know for sure. We are doing 777 for some files becacuse of permission denied errors. If you find a better method I'll update my post.
7. Reboot and Profit. (I was perfectly able to use PAN for Bluetooth tethering without installing anything extra using Raring and GNOME-CORE. However, I did not get Bluetooth headsets to work yet so if someone else wants to help out then that's great too.
Hi!
First of all thank you, that worked perfectly for me.
I just had to chmod bcm4329.hcd and brcm_patchram_plus's files.
For those who have the same "problem" just type this once you placed all the files in good folders.
Code:
sudo chmod 777 /lib/firmware/bcm4329.hcd
Code:
sudo chmod 777 /etc/init.d/bsp-tf101
And do the same for all files you extracted from brcm.tar.gz
Not sure if chmod all of these files is useful but that's what I've done and it worked.
Hope it'll help.
147keul said:
Hi!
First of all thank you, that worked perfectly for me.
I just had to chmod bcm4329.hcd and brcm_patchram_plus's files.
For those who have the same "problem" just type this once you placed all the files in good folders.
Code:
sudo chmod 777 /lib/firmware/bcm4329.hcd
Code:
sudo chmod 777 /etc/init.d/bsp-tf101
And do the same for all files you extracted from brcm.tar.gz
Not sure if chmod all of these files is useful but that's what I've done and it worked.
Hope it'll help.
Click to expand...
Click to collapse
I have been problems getting this to work on Raring 13.04 build from X3. Are you using Raring by chance or one of the other versions by X3?
I've not been using yet Raring method, I used the one click method with 2.6.36 kernel.
Gonna take a look in a few with raring, I'll tell you if I manage to make it work.
147keul said:
I've not been using yet Raring method, I used the one click method with 2.6.36 kernel.
Gonna take a look in a few with raring, I'll tell you if I manage to make it work.
Click to expand...
Click to collapse
I got it to work a little bit ago and tethering for Bluetooth internet. Good call with chmod it worked like a champ. Thanks!
When using your Bluetooth tethering, you can also use Conky to display the IP address. You can edit the file by sudo nano /etc/conky/conky.conf. Go to the line that is displaying ${addr wlan0}. Copy that whole line below and replace wlan0 with bnep0. Bnep0 is the adapter interface that has the BT tether IP address.
Has anyone seen this? Ubuntu Developer Preview for Galaxy Nexus, Nexus 4 Arrives Feb. 21
"Our platform supports a wide range of screen sizes and resolutions. Developers who have experience bringing up phone environments will find it relatively easy to port Ubuntu to current handsets"
"For developers, contributors and partners, there is now a coherent experience that warrants attention. The cleanest, most stylish mobile interface around."
Click to expand...
Click to collapse
I don't have the files starting from step 4 (folder is empty). I'm guessing it's because I installed another ROM (EOS JB MR1 4.2 from http://forum.xda-developers.com/showthread.php?t=2063406). Would anyone happen to know where else I can obtain the files needed starting from step 4? Thanks!
Treizy said:
I don't have the files starting from step 4 (folder is empty). I'm guessing it's because I installed another ROM (EOS JB MR1 4.2 from http://forum.xda-developers.com/showthread.php?t=2063406). Would anyone happen to know where else I can obtain the files needed starting from step 4? Thanks!
Click to expand...
Click to collapse
Search android from terminal:
Find / | grep bcm4329.hcd
If you get nothing I'll try to upload later.
TomTcom said:
Search android from terminal:
Find / | grep bcm4329.hcd
If you get nothing I'll try to upload later.
Click to expand...
Click to collapse
Thanks! Found that file in /system/etc/firmware.
I wasn't able to find the mac.txt file but I know my bluetooth mac address. Is that the only thing that I need to include in that file?
Treizy said:
Thanks! Found that file in /system/etc/firmware.
I wasn't able to find the mac.txt file but I know my bluetooth mac address. Is that the only thing that I need to include in that file?
Click to expand...
Click to collapse
Yes, that's the only thing you need to put in. Strange you can't find needed files in right places, have you tried with a "root explorer"? Try to download it, and normally you should find mac.txt.
Trying this again with the raring build and still running into problems.
When I try to start the service, i get the following error:
Code:
$ sudo service bsp-tf101 start
* Starting Bluetooth Support Deamon...
* Setting correct permissions on nvtegra device nodes...
/etc/init.d/bsp-tf101: 23: /etc/init.d/bsp-tf101: /usr/sbin/brcm_patchram_plus: Permission denied
I did run the following commands before hand:
sudo apt-get install rfkill (I didn't have this installed before and it was giving an error)
sudo chmod 777 /lib/firmware/bcm4329.hcd
sudo chmod 777 /etc/init.d/bsp-tf101
sudo chmod -R 777 /usr/sbin/brcm_patchram_plus
Any idea why it still says permission denied?
Thanks!
Treizy said:
Trying this again with the raring build and still running into problems.
When I try to start the service, i get the following error:
Code:
$ sudo service bsp-tf101 start
* Starting Bluetooth Support Deamon...
* Setting correct permissions on nvtegra device nodes...
/etc/init.d/bsp-tf101: 23: /etc/init.d/bsp-tf101: /usr/sbin/brcm_patchram_plus: Permission denied
I did run the following commands before hand:
sudo apt-get install rfkill (I didn't have this installed before and it was giving an error)
sudo chmod 777 /lib/firmware/bcm4329.hcd
sudo chmod 777 /etc/init.d/bsp-tf101
sudo chmod -R 777 /usr/sbin/brcm_patchram_plus
Any idea why it still says permission denied?
Thanks!
Click to expand...
Click to collapse
Try also chmod 777 the brcm_patchram_plus.c file as well.
Also, I need to update my guide. I don't run it as a service but rather a batch file launched from rc.local so everything is executed as root. I'll have to update the guide to include Raring. So that could be part of the problem as well.
TomTcom said:
Try also chmod 777 the brcm_patchram_plus.c file as well.
Also, I need to update my guide. I don't run it as a service but rather a batch file launched from rc.local so everything is executed as root. I'll have to update the guide to include Raring. So that could be part of the problem as well.
Click to expand...
Click to collapse
So if I add these commands to the rc.local file in /etc it should work?
Code:
sudo chmod 777 /lib/firmware/bcm4329.hcd
sudo chmod 777 /etc/init.d/bsp-tf101
sudo chmod -R 777 /usr/sbin/brcm_patchram_plus
sudo service bsp-tf101 start
Or do I need to do something else?
Treizy said:
So if I add these commands to the rc.local file in /etc it should work?
Code:
sudo chmod 777 /lib/firmware/bcm4329.hcd
sudo chmod 777 /etc/init.d/bsp-tf101
sudo chmod -R 777 /usr/sbin/brcm_patchram_plus
sudo service bsp-tf101 start
Or do I need to do something else?
Click to expand...
Click to collapse
No don't do that. I'll try and post what you need to do later tonight.
Treizy said:
So if I add these commands to the rc.local file in /etc it should work?
Code:
sudo chmod 777 /lib/firmware/bcm4329.hcd
sudo chmod 777 /etc/init.d/bsp-tf101
sudo chmod -R 777 /usr/sbin/brcm_patchram_plus
sudo service bsp-tf101 start
Or do I need to do something else?
Click to expand...
Click to collapse
I have updated my guide. See the OP for the Addendum for Raring installation. The file you create will be ran before the GUI loads with root permissions from rc.local.
Let me know if this worked.
TomTcom said:
I have updated my guide. See the OP for the Addendum for Raring installation. The file you create will be ran before the GUI loads with root permissions from rc.local.
Let me know if this worked.
Click to expand...
Click to collapse
Nope
When I try to turn bluetooth on, nothing happens. It will switch back to off when i close the settings popup.
Treizy said:
Nope
When I try to turn bluetooth on, nothing happens. It will switch back to off when i close the settings popup.
Click to expand...
Click to collapse
Hmmm...if you followed the guide you shouldn't have to turn it on. The batch is executed on boot from RC.local. Try and give me some more details.
TomTcom said:
Hmmm...if you followed the guide you shouldn't have to turn it on. The batch is executed on boot from RC.local. Try and give me some more details.
Click to expand...
Click to collapse
Maybe I messed up. For step 1, the files you are asking us to download are the ones in post #10 correct (brcm.tar.gz)? Also, I don't have this mac.txt file anywhere so I created my own and just put my mac address in it (hopefully the correct one). Lastly, i dont have this file for this step:
sudo chmod 777 /usr/sbin/brcm_patchram_plus.c
but instead i have it in this location:
/usr/sbin/brcm_patchram_plus/brcm_patchram_plus.c
Treizy said:
Maybe I messed up. For step 1, the files you are asking us to download are the ones in post #10 correct (brcm.tar.gz)? Also, I don't have this mac.txt file anywhere so I created my own and just put my mac address in it (hopefully the correct one). Lastly, i dont have this file for this step:
sudo chmod 777 /usr/sbin/brcm_patchram_plus.c
but instead i have it in this location:
/usr/sbin/brcm_patchram_plus/brcm_patchram_plus.c
Click to expand...
Click to collapse
I think you might have files in the wrong location, there should be no brcm_patchram_plus directory. Try to extract the zip again and make sure they are all in /usr/sbin only.
If you didn't have mac.txt from Android, you can just make it like you did and make sure it is in /lib/firmware/brcm.
It took some doing, but after following the instructions in this link:
http://forum.xda-developers.com/showthread.php?t=2559915
I was finally able to root my Nook Glowlight. The instructions are kind of sprawled out and extremely unclear so I will sum up.
As always, you will need the ADB. In order to install the ADB, you need the Java Development Kit and the Android Studio (formerly known as the Android SDK)
http://www.oracle.com/technetwork/java/javase/downloads/index.html
http://developer.android.com/sdk/installing/studio.html
How to obtain root via ADB: The ONLY way you can root is using Windows. I was successful on Windows 7 32 bit, but it may be possible on other versions.
step 1) install bootloader driver.
You need to grab the drivers from here (bnusbdrivers.zip):
http://forum.xda-developers.com/showpost.php?p=49665945&postcount=279&nocache=1&z=184593200683593
then, open the Device Manager (on Windows). Be ready to right click on the new device 'omap3660' that shows.
With the nook turned completely off, plug in a USB cable. you will have less than 3 seconds to right click the new omap3660 device that shows up in the system profiler.
If you were successful and you right clicked on it in time, manually install the Barnes & Noble USB driver (there are entries added to the generic Google drivers for both the TI Omap 3660 bootloader and the ADB device after you modify the uRamdisk later on)
***NOTE***
If you WEREN'T successful on your first try (took me THREE times to get to it in time), you aren't going to get another chance to install the drivers. At least not easily anyway, because after Windows tries to automatically install the drivers for the bootloader and fails, it will disregard the device any time it shows up after that. So, you are going to need to delete the registry entries that it created, which in my experience was easier said than done. Even admin access was not sufficient to make the necessary changes to the registry.
You will need to launch regedit.exe using another tool called psexec which is available here:
http://technet.microsoft.com/en-us/sysinternals/bb897553.aspx
after you download the pstools package, copy those .exe files to C:\Windows\System32\ (in order to add them to $PATH in cmd.exe)
Then, once you've installed the pstools commands to C:\Windows\System32\, run cmd.exe as admin (right click it and select 'run as administrator') and then open regedit.exe with the following command
Code:
psexec -s -i -d regedit.exe
Then, once regedit is open you need to find the keys created by the Nook bootloader and delete them. The Nook bootloader's device ID is 0451:d00e
You are going to be looking in HKEY_LOCAL_MACHINE\Current Control Set\enum\usb\ for the keys with the bootloader's device IDs. There may also be keys generated in control set 001 and 002 as well. Delete all of those keys and then reboot your computer. Then with the nook power off completely, repeat the process from the first step. eventually you will be successful installing the bootloader driver.
Step 2) temporarily boot with uRamdisk-noogie
you need to download omaplink.exe from here:
http://www.temblast.com/android.htm
and you also need to download the four files which allow you to temporarily mount the boot partition; omap3_aboot.bin, u-boot-ng2-exp-v03.bin, uImage-ng2-130-stk and uRamdisk-noogie.
They are available here:
http://forum.xda-developers.com/showpost.php?p=49779966&postcount=285
download usbboot-ng2-images-noogie-v1.zip
The next part is easy.
Extract the .zip file and then fire up cmd.exe. cd into the directory of the newly extracted .zip
in the new working directory, enter the command
Code:
omaplink omap3_aboot.bin u-boot-ng2-exp-v03.bin uImage-ng2-130-stk uRamdisk-noogie
Then, with the Nook powered all the way off and omaplink running, plug it in and a few seconds later, after the device boots up all the way, you will be looking at the contents of the boot partition instead of the internal storage like normal.
Step 3) Edit uRamdisk
you will need to download bootutil.exe from here
http://www.temblast.com/android.htm
copy bootutil.exe to C:\Windows\System32
with the boot partition mounted, copy uRamdisk to your computer and extract the files init.rc and default.prop, eg;
Code:
bootutil /x /v uRamdisk init.rc default.prop
then using notepad++ (available here: http://notepad-plus-plus.org/) edit the files as follows
default.prop
ro.secure=0
ro.allow.mock.location=1
ro.debuggable=1
persist.service.adb.enable=1
and
init.rc
comment out lines 375 and 392-399
(do this by adding a # to the beginning of the line)
uncomment line 215
(do this by deleting the # at the beginning of the line)
save both files and then repack them into uRamdisk
Code:
bootutil /r /v uRamdisk init.rc default.prop
copy uRamdisk back onto the Nook, eject the disk and power off the device. Reboot and you should be able to connect to ADB via WiFi
eg;
Code:
adb connect 192.168.0.10
replacing '10' with whatever IP your Nook is grabbing from your router.
Step 4) Full Root
at this point, you have root access via ADB only. You will not have root access in any apps like Root Explorer, Terminal, TiBackup, etc.
In order to finish PROPERLY rooting your Nook, you need to install 'su' to /system/bin/ and install the superuser.apk
Code:
adb connect 192.168.0.10
adb shell mount -o remount, rw /system
adb push su /system/bin/
adb shell chmod 6755 /system/bin/su
adb install superuser.apk
reboot your device one more time and then you will be fully rooted.
*** Note ***
this devices firmware seems to be a strange hybrid between donut and eclair, although it purports itself to be Android 2.1. The Superuser.apk and su binary came from an old Cyanogenmod 4.6 build in case anyone was wondering (Android Donut). The ones from Cyanogenmod 5 (Android Eclair) do not work. you will get the 'install failed older sdk' error.
installing busybox
I tired installing busybox by using the stericson busybox pro.apk. It would always freeze at 6.47%.
I figured out that if I grabbed an older version of the busybox binary and pushed it to /system/xbin manually and then chmodded it to the proper permissions, auto updates and proper symlinking work using the busybox app
Code:
adb shell mount -o remount, rw /system
adb shell mkdir -p /system/xbin
adb push busybox /system/xbin
adb shell chmod 6755 /system/xbin/busybox
adb install busybox.apk
Then reboot, and run the busybox app to update and create symlinks.
enjoy!
installing nano and bash
Code:
adb connect 192.168.0.10
adb shell
mount -o remount, rw /system
adb push nano /system/xbin/
chmod 6755 /system/xbin/nano
adb push bash /system/xbin/
chmod 6755 /system/xbin/bash
bash
mv /system/bin/sh /system/bin/sh.bak
ln -s /system/xbin/bash /system/bin/sh
chmod 6755 /system/bin/sh
adb push profile /system/etc/
adb push terminfo /system/etc/
and then in terminal emulator under 'Preferences' change the initial command to
Code:
export TERMINFO=/system/etc/terminfo;export TERM=linux;export HOME=/sdcard;
and finally
Code:
adb push bashrc /sdcard
adb shell
mv /sdcard/bashrc /sdcard/.bashrc
exit
nano works just fine via ADB, but because of lack of 'ctrl' key (and physical buttons to assign it to) you won't be able to write files (ctrl+o) using the terminal on your nook. But between having full proper root access, busybox, a proper bash terminal emulator and nano for editing config files, this should REALLY extend the usefulness of your Nook Glowlight. It should work just fine on other versions of Nook too.
Hi N00b-un-2,
Many thanks for your summary!
There is one important edit that I think you missed,
in init.rc you also need to:
Line #375, comment out "disabled" with a # at the start of the line.
(see http://forum.xda-developers.com/showthread.php?p=49070213#post49070213)
without this I couldn't get adb to connect.
And since you already made it very noob friendly, might I suggested you clarify:
Line #215 remove # to enable adb over wifi
(rather than search for 5555)
Also, I'm not expert, but I believe the commands to get superuser on the device are (at least it worked for me):
adb connect 192.168.x.x
adb shell mount -o remount, rw /system
adb push su /system/bin/
adb shell chmod 6755 /system/bin/su
adb install superuser.apk
Finally, I'm not sure if this is important, but maybe remount system as read only again:
adb shell mount -o remount, ro /system
Thanks again, nice work!
---------- Post added at 01:48 PM ---------- Previous post was at 01:10 PM ----------
Hi again,
had similar issues with installing busybox, here's what worked for me (note needed to run su to create dir):
adb shell mount -o remount, rw /system
adb shell /system/bin/su
adb shell mkdir -p /system/xbin
adb push busybox /system/xbin
adb shell chmod 6755 /system/xbin/busybox
adb install busybox.apk
cheers.
As far as remounting /system as ro, I would HIGHLY recommend just rebooting at this point, otherwise your nook might be stuck in a weird pseudo-rooted state. Probably won't cause any problems, but why risk it?
Thanks for clarifying the line number. I will make the appropriate edits to my instructions. I was working off the top of my head and couldn't remember what exact line the ADB over TCP config was, as I just used ctrl+w '5555' to find it myself.
There are several pre-edited uRamdisk images floating around the forum with various features enabled which would be easier for noobs than extracting the config files and manually editing and then repacking them. In the future I'll probably throw those on here as well.
darz said:
Hi N00b-un-2,
Many thanks for your summary!
There is one important edit that I think you missed,
in init.rc you also need to:
Line #375, comment out "disabled" with a # at the start of the line.
(see http://forum.xda-developers.com/showthread.php?p=49070213#post49070213)
without this I couldn't get adb to connect.
And since you already made it very noob friendly, might I suggested you clarify:
Line #215 remove # to enable adb over wifi
(rather than search for 5555)
Also, I'm not expert, but I believe the commands to get superuser on the device are (at least it worked for me):
adb connect 192.168.x.x
adb shell mount -o remount, rw /system
adb push su /system/bin/
adb shell chmod 6755 /system/bin/su
adb install superuser.apk
Finally, I'm not sure if this is important, but maybe remount system as read only again:
adb shell mount -o remount, ro /system
Thanks again, nice work!
---------- Post added at 01:48 PM ---------- Previous post was at 01:10 PM ----------
Hi again,
had similar issues with installing busybox, here's what worked for me (note needed to run su to create dir):
adb shell mount -o remount, rw /system
adb shell /system/bin/su
adb shell mkdir -p /system/xbin
adb push busybox /system/xbin
adb shell chmod 6755 /system/xbin/busybox
adb install busybox.apk
cheers.
Click to expand...
Click to collapse
N00b-un-2 said:
There are several pre-edited uRamdisk images floating around the forum with various features enabled which would be easier for noobs than extracting the config files and manually editing and then repacking them. In the future I'll probably throw those on here as well.
Click to expand...
Click to collapse
Would have been good if I could have easily found a pre-edited image, but your instructions were a great alternative, thanks again
darz said:
Would have been good if I could have easily found a pre-edited image, but your instructions were a great alternative, thanks again
Click to expand...
Click to collapse
Sorry for the really noob question, I have rooted, wifi adb running and installed apps as per your instructions, but I can't seem to access any of it on the nook. How can I get access to the launcher I installed?
You mentioned pre-edited images, do any of those come with the apps I need to get access to a custom launcher?
Cheers,
Dariusz
==============
Updated: All sorted
==============
For some reason had some issues with ADW launcher, Launcher pro worked fine.
ps I think I made a mistake with the su step I suggested, if you run a one line shell command I don't think it keeps su privileges, so I believe you need to run commands within the shell as per below:
adb shell
mount -o remount, rw /system
/system/bin/su
mkdir -p /system/xbin
exit
adb push busybox /system/xbin
adb shell chmod 6755 /system/xbin/busybox
adb install busybox.apk
Noob
Hey guys any instructions noob friendly or a video in youtube,i stick up at dab connect 192.168.0.10.I dos't have a Windows PC and using Mac whit Parallels Desktop.Is it possible instructions for Mac?
The above instructions from N00b-un-2 should work fine running a vm with parallels on your Mac.
OB
Sent from my SPH-D710VMUB using Tapatalk 2
valentin1985 said:
Hey guys any instructions noob friendly or a video in youtube,i stick up at dab connect 192.168.0.10.I dos't have a Windows PC and using Mac whit Parallels Desktop.Is it possible instructions for Mac?
Click to expand...
Click to collapse
Before you perform the adb connect step you need to find out what your IP address is:
On your nook, click on the settings icon in the top right corner and then select "Change"
Under Wireless Networks, select the wifi name that you are already connected to (where it says "Connected to the internet")
This will display your connection details, remember that IP address
Now go back to your pc and type:
adb connect [IP address]
darz said:
Before you perform the adb connect step you need to find out what your IP address is:
On your nook, click on the settings icon in the top right corner and then select "Change"
Under Wireless Networks, select the wifi name that you are already connected to (where it says "Connected to the internet")
This will display your connection details, remember that IP address
Now go back to your pc and type:
adb connect [IP address]
Click to expand...
Click to collapse
BIG HINT! If you're using Powershell ISE, you have to type .\adb.exe connect [IP address] or else it won't recognize "adb" as an executable!
Don't ask why, because I don't know. :?
thenookieforlife3 said:
BIG HINT! If you're using Powershell ISE, you have to type .\adb.exe connect [IP address] or else it won't recognize "adb" as an executable!
Don't ask why, because I don't know. :?
Click to expand...
Click to collapse
So far so good,but now what?
valentin1985 said:
So far so good,but now what?
Click to expand...
Click to collapse
I just gave a little tip on Powershell ISE. I do not know much about the Nook GlowLight rooting process, as I have a NSTG, not a NG. Ask someone else.
thenookieforlife3 said:
I just gave a little tip on Powershell ISE. I do not know much about the Nook GlowLight rooting process, as I have a NSTG, not a NG. Ask someone else.
Click to expand...
Click to collapse
Yes,i try whit dis command .\adb.exe connect 192.168.0.9 but result is the same.
valentin1985 said:
Yes,i try whit dis command .\adb.exe connect 192.168.0.9 but result is the same.
Click to expand...
Click to collapse
But that's okay! What I said was, if you are using the command program Powershell ISE, do it that way instead. But you are just using cmd.exe, not Powershell ISE!
In cmd.exe, which is what you are using, it is not neccessary to type .\adb.exe. Just type adb.
From there, ask someone else in this thread.
thenookieforlife3 said:
But that's okay! What I said was, if you are using the command program Powershell ISE, do it that way instead. But you are just using cmd.exe, not Powershell ISE!
In cmd.exe, which is what you are using, it is not neccessary to type .\adb.exe. Just type adb.
From there, ask someone else in this thread.
Click to expand...
Click to collapse
I prefer to use ConEmu or Console2 when I am forced to use Windows. Not a big fan of CMD.EXE or Powershell/PowershellISE. there are plenty of other CLI alternatives out there
N00b-un-2 said:
I prefer to use ConEmu or Console2 when I am forced to use Windows. Not a big fan of CMD.EXE or Powershell/PowershellISE. there are plenty of other CLI alternatives out there
Click to expand...
Click to collapse
Well, as I ONLY use Windows and Powershell ISE has a nice-enough layout for my purposes, I use it. That's why I gave a tip on it.
Actually on a lot of installs just typing adb in the command console won't work either unless it's got the path variable set up correctly, I find it easiest to just right click and choose run as administrator, no need for the path to be setup.
OB
Sent from my SPH-D710VMUB using Tapatalk 2
FW 1.2.1
Hi guys,
thanks for creating this thread. I was wondering if this rooting procedure was tested with the firmware 1.2.1 ?
real-6 said:
Hi guys,
thanks for creating this thread. I was wondering if this rooting procedure was tested with the firmware 1.2.1 ?
Click to expand...
Click to collapse
This rooting procedure is for the new Nook GlowLight with firmware 1.3.1. Your device is a Nook Simple Touch with GlowLight, which can be rooted very easily using the rooting package here.