Bluetooth HID for MIUI - Desire Q&A, Help & Troubleshooting

This guide is based heavily on the one found here: http://i-miss-erin.blogspot.com/2009/09/connect-bluetooth-keyboard-in-android.html
In fact, all information was gleaned from Erin's blog (super props to Erin). This guide is just slightly simplified, with a flashable zip instead of a few ADB steps/
Step 1.) Download the MIUI_Bluetooth_HID.zip from the Download page
Step 2.) Turn Bluetooth ON from Setting UI and click 'Scan for devices'
Step 3.) Select your bluetooth keyboard and pair it.
Step 4.) Under your keyboard android will state "Paired but not connected"
Step 5.) Open up a command prompt/terminal. I am working on a script to automate this part, but for now, you need to use ADB).
Note: Some of the following commands will output text.
adb shell
hcitool scan
(All bluetooth devices in range will be listed here. Look for your bluetooth keyboard, and copy down it's MAC Address)
hidd --connect xx:xx:xx:xx:xx:xx
(Replace xx:xx:xx:xx:xx:xx with your bluetooth keyboard's MAC Address)
hcitool con
(This command shows all connected HID devices, and should list the MAC Address of your bluetooth keyboard)
And that should be it - try typing and see if it works.
If anyone knows how to do the following in a bash script, I'd be grateful if you could tell me.
- Search for a text string in a text file, and replace it with a different text string.
The idea here:
- Script1 runs the scan
- The user copies down the keyboard's MAC Address
- The user enters the MAC Address and it is stored as a variable (is it possible for this to happen automatically?)
- The Script1 then duplicates a second script file called Script2
- The Script1 replaces a preset string (eg xx:xx:xx:xx:xx:xx) inside Script2 with the correct MAC Address of the bluetooth keyboard.
- Script1 runs Script2
- Script2 completes the HID control command
anyway, Thank Erin if it works for you - it worked for me.
Josh

Sense Integration
Can someone PLEASE integrate this into a Sense ROM? IE: Currently using PAYS 2.2...
I tried forcing the files in to /system/xbin but I get the following:
# hcitool scan
Device is not available: No such device
I just got an Rii mini BT Keyboard because it said it was Android compatible, but the drivers won't validate... apparently there's a licensing issue with the OEM or something (found this info on a Google search).
Can someone help?

bdusmc said:
Can someone PLEASE integrate this into a Sense ROM? IE: Currently using PAYS 2.2...
I tried forcing the files in to /system/xbin but I get the following:
# hcitool scan
Device is not available: No such device
I just got an Rii mini BT Keyboard because it said it was Android compatible, but the drivers won't validate... apparently there's a licensing issue with the OEM or something (found this info on a Google search).
Can someone help?
Click to expand...
Click to collapse
Not possible.
Sent from my HTC Desire using XDA App

hi
hi
can u please help me to connect desire hd to rii mini blue tooth keyboard
it is detected but not pairing. Please help me

Hate to bump an old thread like this, but I've been trying to get this type of support on my phone and keep getting pointed to the Desire thread.
On that note, on the Download page the file we are told to download (MIUI_Bluetooth_HID.zip) isn't there. Any idea where it went?
Thanks!

any progress on this dude? i mean automating the connections?

I know this is a thread about HTC Desire, and I beg your apologies in advance for the intrusion, but...this solution is expected to work also in a Motorola Defy, or it will not work?
(just wondering if can be applies in other phones too...)

Related

AT Commands

Just been looking at this page ... I think some of the info may be helpful in solving the PDA2k (and maybe other models) Bluetooth Audio Gateway problem.
My question is how would I execute these commands? Would I need to build an application or could I do it via an application that already exists?

[2010.2.4 New Testing Package] Online..

Time changes, and things go better and better.
This thread is dedicated to test the android and try to figure out where is the problem
[NEWS]
The NEW KERNEL ROCKS.. With double RAM.
And the new rootfs is cleaner than before.
I am going to release a new package (which I just did some small editing)
What can you do with this package?
Connect ADB (very important for debugging)
Put everything in a folder of your SDCard
Supply with NEW kernel and now you have more free RAM
Enjoy the cleaner rootfs (I have made some small modifications)
Download : http://www.mediafire.com/?1tbnyz2jmky
If any of you know how to enable chat in irc, please let me know.
BASICS:
Current Android boot from HARET which start from Windows Mobiles.
It consist of several components. Each of those is having unique functions.
1. STARTUP.TXT
Passing parameters to kernel which enable users to specify machine specific data
Current parameters including screen size, dpi, rotation, etc.
2. Kernel
The most important piece of code that enable everything to talk to the machine.
Developers here are most focus on this area as the other are greatly supported by google and other developers.
Kernel also determine what the hardware could do, and how it connects to other devices.
3. rootfs.img
This is the root of the linux, which initialize the OS. Especially running some startup scripts and mounting folder.
4. system.sqsf
The is the base Operating System of something call ANDROID. For others, you may considered them the basic environment of mobile Linux. For what we call CupCake / Donut / Eclair are stored here.
What we will be doing is to test out the features and bugs and locate the part of the about components affecting it.
Updated ADB howto:
Grab my base package.
Connect to computer before running Haret.
Wait until Android boot complete.
Install Google SDK USB drive for whatever device show up.
droid explorer or "adb device" to test.
If no device found, replug the usb cable.
This post would be updated with agenda drawing most concerns. We need your testing to see if you have any similar problems.
Agenda:
Top priority:
Device can't be wake.
Rear speaker always on.
This post would updates the testing items, and report the latest status.
Everything here are replaced with most recent findings and once more users confirmed, it moves up.
Do not believe everything in this post, but try falsify it. Reports in here would be presices to the level of component and versions.
So make sure you know what you are testing.
This post is a testing invitation, with trials and errors.
If someone raised an interesting phenomenon, we are going to invites members to test it. And the result format would be given as well.
This post may be changed from time to time to refect the new items needed to test (including the return format)
Now, let's kick start.
#1 To Test the base package in post 1
Return with following format.
Machine Type: BLAC100 (other devices are welcomed, but of course we are BLAC owners and would focus on it)
Test build: 2010.2.4
Radio: 1.17.25.09
WIFI ON: YES (WPA)
WIFI OFF: YES
Calendar / Gmail : BOTH OK
Google Voice: OK
Deep Sleep: YES (To test it, disable WIFI, Any USB, and press END KEY to sleep. If deep sleep is working, the system should not be up with key other than the power key)
Wake up: Crashed sometimes initially and get stablized later
ADB Connection: OK
Additional Package Installed: Facebook, dolphin
Suggestion: Replaced with kernel version xxxx would help to xxxxxxxxxxxxxx (if you found out how to make the build better)
#2 DEEP SLEEP AND WAKE
Please post your kernel version (or if you have no idea, the file name of the wifi module) if you found youself never had problem with sleep and wake (not yourself, but your blackstone android).
Lets begin this thread with a constructive approach to achieve our desired goal.
Will Post the feedback as requested.
Machine Type: BLAC100
Radio: Security unlocked 1.16.25.48 (Kovsky)
WIFI ON: YES (WPA)
WIFI OFF: YES
Calendar / Gmail : BOTH OK
Deep Sleep: YES but say after 10 minutes it wont wake-up.
Market: Working with downloads.
Additional Package: Facebook, Wifi toggle, Currency converter, Battery lite.
imtiyazee said:
Machine Type: BLAC100
Radio: Security unlocked 1.16.25.48 (Kovsky)
WIFI ON: YES (WPA)
WIFI OFF: YES
Calendar / Gmail : BOTH OK
Deep Sleep: YES but say after 10 minutes it wont wake-up.
Market: Working with downloads.
Additional Package: Facebook, Wifi toggle, Currency converter, Battery lite.
Click to expand...
Click to collapse
Thanks for your report. Developers is aware of the wake up issue of blackstone. It is however, seems still not fixed in the new kernel.
And Pierre-Hugues Husson would disable the deep sleep function (consume a little more battery) in up coming kernels, and we can try it on very soon.
mcdull said:
Thanks for your report. Developers is aware of the wake up issue of blackstone. It is however, seems still not fixed in the new kernel.
And Pierre-Hugues Husson would disable the deep sleep function (consume a little more battery) in up coming kernels, and we can try it on very soon.
Click to expand...
Click to collapse
Thanks for the update.
mcdull,
Brendan shanks has changed pid on kernel to "0c01", this should enable working with ADB without hacking the inf file.
This was deployed on Build: [email protected]_071547.
Let us know if this makes any difference for you, and whether HTC sync is now possible.
Thanks
It works perfect
hello,
I am using ANDROID_bLACKSTONE_TESTBUILD_20100125.ZIP & zImage-modules-20100129_022341 and it works perfect on my Blackstone till now.
Wi-Fi - OK
Synchronization with google account - OK
Sleep mode - OK
It is FAST
Call IN and OUT - OK
SMS - OK
this combination is best of the best till now what I tried.
eligius
Roadrunner100 said:
mcdull,
Brendan shanks has changed pid on kernel to "0c01", this should enable working with ADB without hacking the inf file.
This was deployed on Build: [email protected]_071547.
Let us know if this makes any difference for you, and whether HTC sync is now possible.
Thanks
Click to expand...
Click to collapse
AFAIK, HTC Sync will not work just yet. And I was not able to connect to ADB after the change. I need to test on some editing.
- Theory
As I already mentioned, the latest implementation of kernel prevent the proper installation of usb driver, and we need to fall back to old kernel to install the driver first (which the old kernel has 0c02 address).
Now, the modification has put the case into dead end. coz we can have no way to ask the computer to install a correct driver with 0c01 address.
In such case it is more difficult to modify the whole batch of driver setting then just the ini. I still have no go in using ADB.
The HTC Dream driver for windows seems works on ADB again.
As suggested by Brendan Shanks, you need to modify the "eclair.user.conf" (stored in the conf/ folder on your SD card), at the bottom, add this line to the custom_shells section:
echo 2 > /sys/devices/platform/msm_hsusb/usb_function_switch
And I have successfully to connect to ADB again.
mcdull said:
The HTC Dream driver for windows seems works on ADB again.
As suggested by Brendan Shanks, you need to modify the "eclair.user.conf" (stored in the conf/ folder on your SD card), at the bottom, add this line to the custom_shells section:
echo 2 > /sys/devices/platform/msm_hsusb/usb_function_switch
And I have successfully to connect to ADB again.
Click to expand...
Click to collapse
Thanks for that. I will try also.
Today, I started seeing the traffic animating 3G icon for the first time.
Great.!!
ADB working
Thank's mcdull ,using the Brendan Shanks method , ADB is working very well.
I'm using the 29-01 kernel and i changed the eclair.user.conf.
After that , the Droid explorer works well .
Bluetooth and GPS , the last frontier.
Regards.
cbolumar said:
Thank's mcdull ,using the Brendan Shanks method , ADB is working very well.
I'm using the 29-01 kernel and i changed the eclair.user.conf.
After that , the Droid explorer works well .
Bluetooth and GPS , the last frontier.
Regards.
Click to expand...
Click to collapse
Great. For others information, all needed changes and new kernel has been included in the latest package.
==REMOVED==
can some1 list what is working with this release of android and what isnt..thnx
WiFi don't go ON
In my blackston WiFi is not workng , anyone have some idea how i can solve this problem.
http://forum.xda-developers.com/showthread.php?t=630643
Check Out 7) (2nd post)

[FAQ][DEV] BT, WiFi and MAC Address on HD2

I hope all this is just a little bit interesting for some developers because I can't do any further investigations on ANDROID because my device is broken. At the moment it's on the way and I hope I will get a change of my broken HD2. I have summarized some more or less insteresting facts and I hope someone of you will think about all this informations and can work with them.
First at all: I'm not a developer but I have done some search on ANDROID and logged and logged and logged it again. All this is just a collection of facts and results of compare log files.
When you disassemble some Files within Android, you will see that something will not work because it can't. Let me start with the init.rc what is missing or might be wrong:
1. MISSING FOR BLUETOOTH:
Code:
# create mountpoints
mkdir /mnt_data/download 0777 root system
2. WRONG?
Code:
chmod 0666 /dev/ttyHS1
chown root radio /proc/cmdline
chmod 666 /proc/cmdline
There is no ttyHS1 device within the ANDROID. Can't find it.
3. NOT SURE
rfkill is seems not working. Recommendation on the website:
http://www.gitorious.org/openaos-te...5f360fec4c21c1e06d145a5fe?diffmode=sidebyside
Code:
chmod 0666 /sys/devices/platform/wifi_bt/bt_enable 0
write /sys/devices/platform/wifi_bt/bt_enable 1
but based on ANDROID Developer FAQ it should be:
Code:
chmod 0666 /sys/modules/board_[platform]/parameters/bluetooth_power_on
write /sys/modules/board_[platform]/parameters/bluetooth_power_on 1
and this MUST also done after the change:
Code:
on property:persist.service.bluetoothd.enable=0
write /sys/modules/board_htcleo/parameters/bluetooth_power_on 0
...depend of the settings it also could be:
Code:
write /sys/devices/platform/wifi_bt/bt_enable 0
on property:persist.service.bluetoothd.enable=1
write /sys/modules/board_htcleo/parameters/bluetooth_power_on 1
...depend of the settings it also could be:
Code:
write /sys/devices/platform/wifi_bt/bt_enable 1
Also interesting is the command write which is used a lot of times by the init.rc. I don't know where this command is located. But if you open a SHELL on Android and try to "write" something you will see that this command is not available. Can someone explain how this will work when this command is not available????
4. WRONG!
Code:
chmod 666 /dev/uinput
chmod 666 /etc/bluez/audio.conf
chmod 666 /etc/bluez/hcid.conf
chmod 666 /etc/bluez/input.conf
On the one hand this path is not existing and on the second hand the hcid.conf is also not existing. If you take a look only within /etc you will see that /etc/bluetooth is only existing.
5. BT INITIALIZATION
Code:
service hciattach /system/bin/brcm_patchram_plus --enable_hci –enable_lpm --baudrate 3000000 --patchram /etc/firmware/bcm4329.hcd /dev/ttyHS0
user bluetooth
group bluetooth net_bt_admin
disabled
This is also not working at all. If you try to run this command via the shell nothing will happens. And if you need to load the firmware into the device you need also setup this device by nvram.txt which you can see within the bluetooth.c file. The nvram.txt is important to get a valid MAC Address from the hardware. If you take a look into the source code of the BCM4329 you will see additional informations about this.
The second problem is the value of 3000000. This is to small. If you want to work with head set than a value of 4000000 is minimum required. From my point of view this initialization should be:
Code:
service hciattach /system/bin/logwrapper /system/bin/hciattach -s 57600 /dev/ttyHS0 any 4000000 flow
The value 57600 is the minimum value for initialize bluetooth and it could be that this value will downsize the standby drain. Not sure, just an idea.
Why? Lets take a look into the main.conf or hcid.conf:
Code:
# What value should be assumed for the adapter Powered property when
# SetProperty(Powered, ...) hasn't been called yet. Defaults to true
InitiallyPowered = true
# Remember the previously stored Powered state when initializing adapters
RememberPowered = true
This was the reason why I think the initialization speed "...-s 57000 /dev..." should be lowerd down which might also solve the battery drain issue. Again, not sure - just an idea.
Btw, if you open the ADB shell and try hciconfig, hciattach or hcitools non of this are working because there is no Bluetooth Adapter even if you have BT enabled. This tools are requried for BT analyse, test and command options. You can call each of the files within the Shell but whatever you try to do you it will fail because BT is not enabled. Try to run rfkill which could initiate a reset on the BT device. If you try to rfkill ttyHS0 which is the BT adapter on HD2 device this will not work. From my point of view all this problems are not only related to the kernel.
6. TAKE A LOOK INTO THE init.htcleo.rc
Code:
# Make sure we startup btld before hcid
# Set target address to emulator host loopback IF
# Limit baudrate to 460800 to ensure reliable uart operation
service btld /system/bin/logwrapper /system/bin/btld -hwtun 10.0.2.2 -hb 460800 3000000 -lpm 1
# service btld /system/bin/logwrapper /system/bin/btld -lpm 1 -hb 3000000
Not sure what will run first. The init.rc or the init.htcleo.rc. If the init.rc will run first this could be also a problem. Btw, the first value is 460800. From my point of view this is too much for initialization.
7. WiFi INITIALIZATION
Just an example but if you do a Google search for "BCM4329 nvram.txt" you will get more than 3 links. Let me show here an example:
http://android-wifi-tether.googlecode.com/svn-history/r465/trunk/res/raw/tether_edify
Search for Value 4329 and you will see SAMSUNG Device bla, bla – don't know from top of my head:
Code:
!file_exists("/sdcard/android.tether/bcm4329.bin") && ( module_loaded("dhd") || log(insmod("/lib/modules/dhd.ko", "firmware_path=/system/etc/wifi/bcm4329_mfg.bin nvram_path=/system/etc/wifi/nvram_mfg.txt"), "Loading dhd.ko module<br>(bcm4329_mfg.bin from /system/etc/wifi/)"); );
Hmm... That was the reason why I grabbed the SAMSUNG i9000 from a friend of me and double checked the device. If you take a look into the /etc/wifi you will see the nvram.txt. I'm not sure how this will be loaded into the device but the i9000 has the same BCM4329 Chipset.
Now let us take a look into the wifi.c for QUALCOMM devices which is also valid for the HD2:
http://gitorious.org/linux-on-qualc...f8dffe668c0448/libhardware_legacy/wifi/wifi.c
Code:
Line 61: Take a look. Nothing of this is existing on the HD2
Line 71: there is no wlan.ko on the HD2
But now, where the hell the MAC Address is stored for the WIFI Adapter? Just take a look at this location:
Code:
sys/module/board_htcleo/parameters/bdaddress
or use this:
Code:
/system/sysroot/module/board_htcleo/parameters/bdaddress
If you check this file you will see there your current MAC Address of the WIFI device. The stupid MAC for the BT device seems not stored on the device. And this is the point where I guess to need the fu***ing nvram.txt.
I have done a search for some BCM files and found something interesting which is attached as "Broadcom Files.7z." There are some (!) more or less firmware files within (?) and also the famous nvram.txt
For additional informations about WiFi and more just open the wifi_suplicant within the /system/bin directory with a simple text editor and browse down to the end. There you will see also a lot of interesting settings for the WiFi environment.
8. W.t.F. IS THIS STUPID NVRAM.TXT?
Download attached Broadcom.7z and check the txt file within. If you open the file you will see the nearly same content as within the
Code:
/etc/calibration
file.
But this file you can ignore on your HD2 device. Delete it, rename it – do whatever you want and you will see no changes on the device. The more interesting thing is within
Code:
/sys/calibration
Huhhhh...! The same file but less values. But where does it come from??? Currently I don't know.
It seems that the nvram.txt is as same as like a BIOS for the device. The BCM4329 is a BT AND WiFi Chip within one CHIP. It might be wrong but I guess this is the easy explanation for this.
And because of this the thing can't work. First it needs to load the BIOS (nvram.txt) and then it needs the OS for it (BCM4329 Firmware).
Okay here is something by reading and following your examples:
sys/module/board_htcleo/parameters/bdaddress
That lines exists in the current NAND Android roms, but this line:
/system/sysroot/module/board_htcleo/parameters/bdaddress
doesnt exist, not in Rafs rom or in imilka's 0.1 GB sense rom.
But here is my key interest: "bdaddress" is where the BLUETOOTH MAC Address is!
Another interesting thing, in imilka's 0.1 GB Sense rom, I can change this to whatever I want and it Sticks till I reboot, but in Rafs it does not.
Key Question, How do we make this file KEEP the changes we make to it??? I know its a dirty fix but none the less its a FIX!! So anyone got a clue?!??
First of all there is a WRONG that is big like an house
the init.rc "syntax" is not shell syntax.
so as example, command "write" will not work in shell... but only in init.rc
I see also a lot of confusions about stock froyo/gingerbread stuff and sense stuff.
Example: Sense uses it's own stuff for BT so a clean init.rc for sense is really different from the one for a non-sense build.
Also some stuff/commands needs to be changed/replaced to have them working with our hd2 kernel.
I have no time now but really this posts is about 30 different things that cannot be explained all togheter.
My suggestion is to google for "android init syntax" and start from there understanding all the android boot process and the android init syntax.
About the wifi mac address.
The wifi mac address is "read" from the libhardware_legacy.so
normmaly this lib reads the mac address in /etc/calibration
this file is a "kernel" file so you are not able to change it.
You can use a modified libhardware_legacy.so that reads the mac address in /system/etc/calibration so you can change it, as I did on my builds where you can change the wifi mac address.
Unfortunately the modified libs causes other issues like gps not working.
---------------------------------------------------------------------------
About the problem that you cannot write permanetly the changes on stuff inside the folders
/
/etc
/proc
/sys
and so on.. this is because those folders are the "kernel" that normally is read-only
you can make it write enabled but it's not a safe way to proceed...
so is there a chance to fix the issue with the bluetooth mac?!
would be important for me
(can't use my parrot car kit with my wifes hd2 because of the same mac adress )
rafpigna said:
First of all there is a WRONG that is big like an house
the init.rc "syntax" is not shell syntax.
so as example, command "write" will not work in shell... but only in init.rc
I see also a lot of confusions about stock froyo/gingerbread stuff and sense stuff.
Example: Sense uses it's own stuff for BT so a clean init.rc for sense is really different from the one for a non-sense build.
Also some stuff/commands needs to be changed/replaced to have them working with our hd2 kernel.
I have no time now but really this posts is about 30 different things that cannot be explained all togheter.
My suggestion is to google for "android init syntax" and start from there understanding all the android boot process and the android init syntax.
Click to expand...
Click to collapse
Thanks mate! The problem is that I have no clue how to do it but I hope someone outside who has more experience with all this knows what to do.
Btw, I have had also tried to do a simple test with this "write" command by fill a line within /etc/test and also /proc/test which fails. Usually I added some lines into the init.rc to see if this will work.
But I'm not sure if I have had something wrong.
rafpigna said:
About the wifi mac address.
The wifi mac address is "read" from the libhardware_legacy.so
normmaly this lib reads the mac address in /etc/calibration
Click to expand...
Click to collapse
Sorry, but this is not true. Check this:
http://developer.android.com/reference/android/net/wifi/WifiInfo.html
If you check this from Android SDK you will see that the wpa_supplicant is responsible for this. And this would be O.K. if you also check the BCM4329 source code.
First the CHIPSET will be initiated and prepared by the firmware and the nvram.txt and after that the wpa_supplicant do the rest.
How this exactly will work - sorry, too less coding knowledge
A good thing is it to compare the MAC & BT issue with the i9000 devices and Sony X10. The Sony X10 has the same QUALCOM chipset as the HD2.
Here are the files from the original Desire HD 1.8x.
The initrd.zip contains is the original file and the initrd~.7z is the extracted who is interested to read and compare.
see this http://gitorious.org/linux-on-wince...mmit/ce69804632e64b397758c1c9835f06efd0c8cb54
in file arch/arm/mach-msm/board-htcleo.c i see from markinus some changes to file bdaddress.but it is not in the main git tree we use for hd2 kernel
maybe someone kernel developer can see it and make a kernel for testing;
clio94 said:
see this http://gitorious.org/linux-on-wince...mmit/ce69804632e64b397758c1c9835f06efd0c8cb54
in file arch/arm/mach-msm/board-htcleo.c i see from markinus some changes to file bdaddress.but it is not in the main git tree we use for hd2 kernel
maybe someone kernel developer can see it and make a kernel for testing;
Click to expand...
Click to collapse
Looks good, but this is not valid for HD2. This is HTC Tattoo. If you check this code you will see "akm8973".
Damn!
http://nagaraj-embedded.blogspot.com/2011/02/guide-on-adding-wifi-drivers-on-android.html
and
http://www.jetdroid.org/forum/viewtopic.php?f=78&t=456&start=20#p4502
Can someone double check this???? From my point of view this looks quite good...
MrT69 said:
Sorry, but this is not true. Check this:
http://developer.android.com/reference/android/net/wifi/WifiInfo.html
If you check this from Android SDK you will see that the wpa_supplicant is responsible for this. And this would be O.K. if you also check the BCM4329 source code.
First the CHIPSET will be initiated and prepared by the firmware and the nvram.txt and after that the wpa_supplicant do the rest.
How this exactly will work - sorry, too less coding knowledge
A good thing is it to compare the MAC & BT issue with the i9000 devices and Sony X10. The Sony X10 has the same QUALCOM chipset as the HD2.
Click to expand...
Click to collapse
I'm wrong?
Sorry to say, I'm not an andorid guru but maybe I have a little bit more knoledge and trust me in our case, at least with our builds, the mac address is read from the calibration file.
So how is possible that in my builds you can change the wifi mac?
I just take yor desired wifi mac, write it in the /system/etc/calibration file and replace the libhardware_legacy.so that will read from that instead of /etc/calibration
MrT69 said:
Thanks mate! The problem is that I have no clue how to do it but I hope someone outside who has more experience with all this knows what to do.
Btw, I have had also tried to do a simple test with this "write" command by fill a line within /etc/test and also /proc/test which fails. Usually I added some lines into the init.rc to see if this will work.
But I'm not sure if I have had something wrong.
Click to expand...
Click to collapse
Already said... init.rc syntax is not shell syntax!!!
Anyway.. I still miss the purpose of this thread....
Just the first two google search links appearing with a simple "android init.rc" search
http://www.androidenea.com/2009/08/init-process-and-initrc.html
http://elinux.org/Android_Booting
Read that and something will be clearer.
rafpigna said:
I'm wrong?
Sorry to say, I'm not an andorid guru but maybe I have a little bit more knoledge and trust me in our case, at least with our builds, the mac address is read from the calibration file.
Click to expand...
Click to collapse
It might be that I have had something missunterstand but I only want to say by default (!) the MAC Address is not read from the calibration file by ANDROID. Of cause I have had tested your solution and it's working.
So how is possible that in my builds you can change the wifi mac?
I just take yor desired wifi mac, write it in the /system/etc/calibration file and replace the libhardware_legacy.so that will read from that instead of /etc/calibration
Click to expand...
Click to collapse
I know that the MAC Address could be changed within this way. I hope you don't understand it within the wrong way but from my point of view this is only a patch solution. Because of the fact that the BT & WiFi Chip is ONE (!) chip within HD2 there must be an other solution to read and get the MAC address for WiFi AND BT.
Already said... init.rc syntax is not shell syntax!!!
Click to expand...
Click to collapse
I only was asking why and where it was not working. In the mentime I know it because of your feedback. But I have add some lines into the init.rc and the files and changes was not written to the device. That was the reason why I was asking.
Anyway.. I still miss the purpose of this thread....
Click to expand...
Click to collapse
Hope to find some people who will help to fix all this issues and on the second hand I hope to find a solution for the BT and WiFi MAC to get it from the device.
It is proper time to make an open discussion about the 2.2.1 rom and more tweaks closer to HD2 reveal in the community.
MrT69 said:
I know that the MAC Address could be changed within this way. I hope you don't understand it within the wrong way but from my point of view this is only a patch solution. Because of the fact that the BT & WiFi Chip is ONE (!) chip within HD2 there must be an other solution to read and get the MAC address for WiFi AND BT.
Click to expand...
Click to collapse
maybe this is wrong but it is extremely good that in sense roms,you can change at any time wifi mac address.in my city municipality have free wifi hotspot but after sometime reads your wifi mac address and cut the connection for a time.so with dynamic wifi address i can be almost all time everywhere online and this saves me from a slow (because i live in a small greek city and 3g connection is not everywhere) data edge connection.

[Q]Kelayout files: does someone knows them very well?

I'm trying to understand exactly how the various keylayout files work... http://source.android.com/tech/input/key-layout-files.html
But I can't understand some things:
1- Why, ie in andromadus, the softouch keys aren't flagged as virtual? this should prevent users from touching them while wanting to touch the screen.
2- How can I see which keylayout file I'm using? I've seen that this should work:
Code:
logcat -d | grep vision
but when I run it it doesn't do anything
Someone had this as output:
Code:
I/EventHub( 6163): New device: id=2, fd=110, path='/dev/input/event5', name='curcial-oj', classes=0x9, configuration='/system/usr/idc/curcial-oj.idc', keyLayout='/system/usr/keylayout/Generic.kl', keyCharacterMap='/system/usr/keychars/Generic.kcm', builtinKeyboard=false
D/EventHub( 6163): No input device configuration file found for device 'lightsensor-level'.
D/EventHub( 6163): No input device configuration file found for device 'vision-keypad-sea'.
I/EventHub( 6163): New device: id=4, fd=117, path='/dev/input/event3', name='vision-keypad-sea', classes=0xc3, configuration='', keyLayout='/system/usr/keylayout/vision-keypad-sea.kl', keyCharacterMap='/system/usr/keychars/vision-keypad-sea.kcm', builtinKeyboard=true
D/EventHub( 6163): No input device configuration file found for device 'proximity'.
I can't understand why it uses generic at first and then passes to sea... And may it be enough for me to grep for I/EventHub to get these strings on mine?
3- Which is the order in which they are used? I mean if there's no x.kl y is used, if there's no y.kl, z is used. This because reading in the following link:
/system/usr/keylayout/Vendor_XXXX_Product_XXXX_Version_XXXX.kl
/system/usr/keylayout/Vendor_XXXX_Product_XXXX.kl
/system/usr/keylayout/DEVICE_NAME.kl
/data/system/devices/keylayout/Vendor_XXXX_Product_XXXX_Version_XXXX.kl
/data/system/devices/keylayout/Vendor_XXXX_Product_XXXX.kl
/data/system/devices/keylayout/DEVICE_NAME.kl
/system/usr/keylayout/Generic.kl
/data/system/devices/keylayout/Generic.kl
Click to expand...
Click to collapse
this should be the order, but I've never heard of anyone changing the first file, of many changing vision_keypad_lang.kl which isn't even mentioned there....
4- If I set a virtual key as a WAKE key will this make the whole file unreadable? so will the desire z pass over it and look for another file? If this is right, as I think and hop, I may have understand which is my problem... I've seen that this is done in andromadus, but I still can't understand how they can wake phone...
5- Which is effectively the difference between WAKE and WAKE_DROPPED, can't get a clear idea from the link
6- What is the purpose of the validatekeymaps tool? Does it verify if the sintax of the file is right?
Thank you
edit: you may have noticed that many of the things I ask can easily be verified with a phone in hands, but I don't have mine at the moment, so I can't do it and it will be like this for a week or so. I have time to develop my project now, so I ask anyway
Noone has worked on these files??
virtualflyer said:
Noone has worked on these files??
Click to expand...
Click to collapse
All your questions can be answered in the official google android documentation. Have a read
Sent from my HTC Vision using xda premium
blk_jack said:
All your questions can be answered in the official google android documentation. Have a read
Sent from my HTC Vision using xda premium
Click to expand...
Click to collapse
I assume you refer to the link I've posted... I've read it, but I still can't understand all points but 5-6 as said in the OP.
There's a VIRTUAL flag and documentation proposes it, so why don't we use it?
Why's everybody changing vision_keypad_lang instead of the one said in doc?
I can't find all these answers (1-4) in documentation... I may haven't seen it, but I read it pretty carefully...
virtualflyer said:
I'm trying to understand exactly how the various keylayout files work... http://source.android.com/tech/input/key-layout-files.html
But I can't understand some things:
1- Why, ie in andromadus, the softouch keys aren't flagged as virtual? this should prevent users from touching them while wanting to touch the screen.
2- How can I see which keylayout file I'm using? I've seen that this should work:
Code:
logcat -d | grep vision
but when I run it it doesn't do anything
Someone had this as output:
Code:
I/EventHub( 6163): New device: id=2, fd=110, path='/dev/input/event5', name='curcial-oj', classes=0x9, configuration='/system/usr/idc/curcial-oj.idc', keyLayout='/system/usr/keylayout/Generic.kl', keyCharacterMap='/system/usr/keychars/Generic.kcm', builtinKeyboard=false
D/EventHub( 6163): No input device configuration file found for device 'lightsensor-level'.
D/EventHub( 6163): No input device configuration file found for device 'vision-keypad-sea'.
I/EventHub( 6163): New device: id=4, fd=117, path='/dev/input/event3', name='vision-keypad-sea', classes=0xc3, configuration='', keyLayout='/system/usr/keylayout/vision-keypad-sea.kl', keyCharacterMap='/system/usr/keychars/vision-keypad-sea.kcm', builtinKeyboard=true
D/EventHub( 6163): No input device configuration file found for device 'proximity'.
I can't understand why it uses generic at first and then passes to sea... And may it be enough for me to grep for I/EventHub to get these strings on mine?
3- Which is the order in which they are used? I mean if there's no x.kl y is used, if there's no y.kl, z is used. This because reading in the following link:
this should be the order, but I've never heard of anyone changing the first file, of many changing vision_keypad_lang.kl which isn't even mentioned there....
4- If I set a virtual key as a WAKE key will this make the whole file unreadable? so will the desire z pass over it and look for another file? If this is right, as I think and hop, I may have understand which is my problem... I've seen that this is done in andromadus, but I still can't understand how they can wake phone...
5- Which is effectively the difference between WAKE and WAKE_DROPPED, can't get a clear idea from the link
6- What is the purpose of the validatekeymaps tool? Does it verify if the sintax of the file is right?
Thank you
edit: you may have noticed that many of the things I ask can easily be verified with a phone in hands, but I don't have mine at the moment, so I can't do it and it will be like this for a week or so. I have time to develop my project now, so I ask anyway
Click to expand...
Click to collapse
2. after a reboot filter the logcat output for "device".
D/EventHub( 6163): No input device configuration file found for device 'lightsensor-level'.
Click to expand...
Click to collapse
create the file "lightsensor-level.idc" inside /system/usr/idc
same for vision-keypad-sea.
for key layouts its the same as for idc, just insert/create the *.kl files into /system/usr/kl if they are missing
curcial-oj uses generic layout because there is no specific layout. just create "curcial-oj.kl" inside /system/usr/kl
4. I guess it's useless to set wake-flag for virtual keys
5. If I understand it correctly keys with WAKE-flag will wake up the phone and execute their function while WAKE_DROPPED will only wake up the phone and drop its function in case that phone's sleeping.
6. at least yes

ppp widget 1.0 apk

Does anyone still have the 1.0 apk?
I upgraded to 1.1 now it will not find my sprint modem and problems here and there.
Here you go..... [removed]
taqulic said:
Here you go..... http://db.tt/jnAqmyXk
Click to expand...
Click to collapse
Thank you so much, to bad I can only give you one thanks :laugh: , now everything is working again. I dont know what the dev changed on the update but something did dealing with the sprint modem..etc. and it all went down hill.
Seems like someone else had that problem too.... thought I read it in the reviews..
taulic,
please be so kind and remove the public access to the APK file.
The original package is fixed now.
Note that the program itself is free of cost but not free to copy. If people run into trouble I will provide older versions when asked.
Regards,
Author of PPP Widget
JFDee said:
taulic,
please be so kind and remove the public access to the APK file.
The original package is fixed now.
Note that the program itself is free of cost but not free to copy. If people run into trouble I will provide older versions when asked.
Regards,
Author of PPP Widget
Click to expand...
Click to collapse
Done.
PPP works once, then ned to re-installed
taqulic said:
Done.
Click to expand...
Click to collapse
Hi There,
The app works fine when I install it first, my dongle i being recognized no problem. However if I disconnect, and unplug the dongle and try to connect again, the widget shows "no modem found".
I have tried forcing the app to stop, uninstall stickmount as I thought there was clash between both apps and still it doesn't work. the only work around I v found is to re-install the app, which is not very convenient when on the go and needing internet in the first place to be able to access it.
Would you be willing to provide me the APK installer as I am quite happy to install the app whenever I need it, or maybe suggest a workaround?
you have done a fantastic job by the way
G
file is no longer available
Will you please re-upload the file (PPP wedget 1.00 APK) in drop box since the hyperlink says (The file you are looking for has been deleted or moved). Thank you very much
You should first, email the author of the app and see if he can help you with your problem.
I'm not sure I still have the app in backup... as I only save them for so long. (But I'll check).
For those people having problems with this app, there is a forum and active discussion
Here, click forum link at bottom of page.
http://www.draisberghof.de/android/pppwidget.html
Will you please email this file; thanks
Unknown Zone said:
Thank you so much, to bad I can only give you one thanks :laugh: , now everything is working again. I dont know what the dev changed on the update but something did dealing with the sprint modem..etc. and it all went down hill.
Click to expand...
Click to collapse
Dear "Unkown Zone", will you please email this file (PPP Widget 1.00); thanks
Please email link
Unknown Zone said:
Does anyone still have the 1.0 apk?
I upgraded to 1.1 now it will not find my sprint modem and problems here and there.
Click to expand...
Click to collapse
If you have older version of PPP Widget 1.00 (apk file), please post a link. I have tried many changer.bat options since your last post; both uberoid v11 and 12.1. Nothing seems to work so far to make the ZTE-MF190 work again since upgrade from stock ROM. Tried 2 look for this file however no success. Thank you.
Deleted.
samsung note i717 no drivers found
PPP Widget version 1.3.3
USB_ModeSwitch log from Tue Sep 24 21:36:19 IST 2013
Raw args from udev: 1-1/1-1:1.0
Using top device dir /sys/bus/usb/devices/1-1
----------------
USB values from sysfs:
manufacturer ZTE, Incorporated
product USB Storage
serial 000000000002
----------------
bNumConfigurations is 1 - don't check for active configuration
SCSI attributes not needed, moving on
checking config: /data/data/de.draisberghof.pppwidget/app_tmp/19d2.fff5
! matched. Reading config data
devList 1:
config: TargetVendor set to 19d2
config: TargetProductList set to fff1,fffe,ffff
Driver module is "option", ID path is /sys/bus/usb-serial/drivers/option1
Command to be run:
usb_modeswitch -I -W -D -s 20 -u -1 -b 1 -g 2 -v 19d2 -p fff5 -f $cB
Verbose debug output of usb_modeswitch and libusb follows
(Note that some USB errors are to be expected in the process)
--------------------------------
Reading long config from command line
* usb_modeswitch: handle USB devices with multiple modes
* Version 1.2.7 (C) Josua Dietze 2012
* Based on libusb0 (0.1.12 and above)
! PLEASE REPORT NEW CONFIGURATIONS !
DefaultVendor= 0x19d2
DefaultProduct= 0xfff5
TargetVendor= 0x19d2
TargetProduct= not set
TargetClass= not set
TargetProductList="fff1,fffe,ffff"
DetachStorageOnly=0
HuaweiMode=0
SierraMode=0
SonyMode=0
QisdaMode=0
QuantaMode=0
GCTMode=0
KobilMode=0
SequansMode=0
MobileActionMode=0
CiscoMode=0
BlackberryMode=0
PantechMode=0
MessageEndpoint= not set
MessageContent="5553424312345678c00000008000069f030000000000000000000000000000"
NeedResponse=0
ResponseEndpoint= not set
InquireDevice disabled
Success check enabled, max. wait time 20 seconds
System integration mode enabled
Use given bus/device number: 001/002 ...
Looking for default devices ...
bus/device number matched
searching devices, found USB ID 19d2:fff5
found matching vendor ID
found matching product ID
adding device
Found device in default mode, class or configuration (1)
Skipping the check for the current configuration
Using interface number 0
Using endpoints 0x0a (out) and 0x89 (in)
USB description data (for identification)
-------------------------
Manufacturer: ZTE, Incorporated
Product: USB Storage
Serial No.: 000000000002
-------------------------
Looking for active driver ...
OK, driver found; name unknown, limitation of libusb1
OK, driver "unkown" detached
Setting up communication with interface 0
Using endpoint 0x0a for message sending ...
Trying to send message 1 to endpoint 0x0a ...
Sending the message returned error -6. Trying to continue
Resetting response endpoint 0x89
Could not reset endpoint (probably harmless): -6
Resetting message endpoint 0x0a
Could not reset endpoint (probably harmless): -6
Device is gone, skipping any further commands
Bus/dev search active, referring success check to wrapper. Bye.
ok:busdev
--------------------------------
(end of usb_modeswitch output)
Checking success of mode switch for max. 20 seconds ...
Waiting for device file system (1 sec.) ...
Reading attributes ...
Mode switch has completed
Mode switching was successful, found 19d2:fff1 (ZTE, Incorporated: ZTE CDMA Tech)
Device class of first interface is ff
Now checking for bound driver ...
No driver has bound to interface 0 yet
Module loader is /system/bin/insmod
Trying to find and install main driver module "option"
Checking for active driver path: /sys/bus/usb-serial/drivers/option1
Driver not active, try to find module "option"
Can't find module "option"
Existing path found:
No way to use driver "option"
- try falling back to "usbserial"
Module "usb_serial" not found, can't do more here
Driver binding did not work for this device
All done, exiting
QUOTE=taqulic;34223799]Here.
http://www.filesend.net/download.php?f=4c6891af31cb635623fac53e094def52[/QUOTE]
Sir,
Using samsung note i717with official jb rom 4.1.2, ppp app says driver not found, device log is as above. Request you to help in this regard.

Categories

Resources