[BUG]Access Point not working - Nexus S General

Can anyone get Wireless Accesspoint to work? It just states "error" and this is what the logcat states
------------
D/BatteryWatcher( 582): Sent battery updated broadcas
D/SoftapController( 69): Softap driver start: 0
E/SoftapController( 69): Softap set - failed: -1
E/WifiService( 105): Exception in startAccessPoint()
D/SoftapController( 69): Softap driver stop: 0
D/SoftapController( 69): Softap fwReload - Ok
D/SoftapController( 69): Softap driver start: 0
E/SoftapController( 69): Softap set - failed: -1
E/WifiService( 105): Exception in startAccessPoint()
D/SoftapController( 69): Softap driver stop: 0
D/SoftapController( 69): Softap fwReload - Ok
D/SoftapController( 69): Softap driver start: 0
E/SoftapController( 69): Softap set - failed: -1
E/WifiService( 105): Exception in startAccessPoint()
------------
Update : If i turn bluetooth on it works, otherwise it doesnt. Also im on stock 2.3.2 with root and this Netarchy 1.2.1 Kernal. Just to be sure, i also restored back to factory and had the same problem. Anyone else?
Update 2 : Looks like its not just me. https://code.google.com/p/android/i...rs&colspec=ID Type Status Owner Summary Stars

You should have tried searching first, perhaps with this search query (hotspot error).
This is discussed in at least two other threads already. One of them may answer your questions:
[Q] Wifi Hotspot tether Error
or
[Q] Samsug Nexus S WiFi issues, problems?
There doesn't seem to be a real fix, just some workarounds.
Good luck!

Thanks distortedloop. I actually did make 2 searches under different things and even when you post it looks for a thread similar to what you are posting about. And nothing. Thank you for being helpful though! Ill look into those two posts..

serialtoon said:
Thanks distortedloop. I actually did make 2 searches under different things and even when you post it looks for a thread similar to what you are posting about. And nothing. Thank you for being helpful though! Ill look into those two posts..
Click to expand...
Click to collapse
Yeah, I know, that's why I usually point people to the threads with the answers, or answer the question along with the "search" comment. A lot of people just say search, plus I was a bit cranky.
Anyways, I hope one of those threads answers your questions. I'm very disappointed in the hotspot performance on the Nexus S compared to my i9000 and Nexus One (with the wireless tether app).

Related

Any tweak, can turn off BT automatic when I switch of BT Headset??

Hi all,
Guys, any tweak/app can turn off BT automatic in Mobile when I turn off the BT Headset????????
Thanx
Same here... onoly different
I was looking for an app that will turn on my headset when I turn on my devices BT.
But either one will work for me.
this site can actually provide 2390473296295825 skins for ****ty apps, 340567345034785 3d ****ty moronisms, but no solutions, probably, for now.
shameful decadence for 600+$ machines users.
and no, i am not moron, i learnt everything i know form this site...
long live HTC, ffs, long live, kill ppc's, yeah.
...???
nothin said:
this site can actually provide 2390473296295825 skins for ****ty apps, 340567345034785 3d ****ty moronisms, but no solutions, probably, for now.
shameful decadence for 600+$ machines users.
and no, i am not moron, i learnt everything i know form this site...
long live HTC, ffs, long live, kill ppc's, yeah.
Click to expand...
Click to collapse
... The ****?!?
I haven't tried this particular feature on "Auto Lock (CSDEVCTRL)" app, but it seems to have automatic BT switch off when headset not connected.
http://forum.xda-developers.com/showthread.php?t=386451
It can be done with mortscript plus an external program to turn off bluetooth (i don't think mortscript can do it all by itself).
Try running this mortscript:
Code:
handsFreeState = RegRead("HKLM", "System\State\Hardware", "Handsfree")
lastHfState = 0
While (1)
bluetoothState = RegRead("HKLM", "System\CurrentControlSet\Control\Power\State" , "Bluetooth" )
if(bluetoothState = 1)
lastHfState = handsfreeState
handsFreeState = RegRead("HKLM", "System\State\Hardware", "Handsfree")
if(lastHfState = 1 && handsFreeState = 0)
Message("Bt should be turned off now")
endif
endif
Sleep (2000)
EndWhile
Once run, the script will run in background and every two seconds (of course you can change this value) will check if BT is on. If it is, it will check if the handsfree has been disconnected (more precisely, if it was connected during previous pass, AND if it's disconnected now). If it has, the script will display a message box. Of course you need to replace the line:
Code:
Message("Bt should be turned off now")
With code actually launching a program that will turn off BT. The only program capable of this that crosses my mind now is VJVolubilis (www.vijay555.com). A mortscript using it will look like this:
Code:
handsFreeState = RegRead("HKLM", "System\State\Hardware", "Handsfree")
lastHfState = 0
While (1)
bluetoothState = RegRead("HKLM", "System\CurrentControlSet\Control\Power\State" , "Bluetooth" )
if(bluetoothState = 1)
lastHfState = handsfreeState
handsFreeState = RegRead("HKLM", "System\State\Hardware", "Handsfree")
if(lastHfState = 1 && handsFreeState = 0)
Run("\Program Files\vijay555\VJVolubilis.exe", "-blueoff")
endif
endif
Sleep (1000)
EndWhile
I know that there are other, maybe smaller programs that can turn off BT, but i simply can't remember any of them now.
A note: the only way to stop this script is to kill mortscript.exe process with a taskmanager or soft-reseting your device. And if you want to play around with editing it, make sure to kill the one currently running before running another instance.
And if you're worried about how constantly running mortscript will affect your device's performance - it won't affect it at all I use a similar script than monitors the headphones state and starts MortPlayer if i plug in the headphones. Never noticed any additional CPU load.
nothin said:
this site can actually provide 2390473296295825 skins for ****ty apps, 340567345034785 3d ****ty moronisms, but no solutions, probably, for now.
shameful decadence for 600+$ machines users.
and no, i am not moron, i learnt everything i know form this site...
long live HTC, ffs, long live, kill ppc's, yeah.
Click to expand...
Click to collapse
this place provides TONS of solutions for TONS of stuff... and i too learnt everything i know from this website. considering what you said yourself, it's kind of dumb to say this place is useless.
Sean D. said:
... The ****?!?
Click to expand...
Click to collapse
hahahha, thats exactly wut i said out loud. then i saw u posted wut i just said
mr_deimos said:
It can be done with mortscript plus an external program to turn off bluetooth (i don't think mortscript can do it all by itself).
Try running this mortscript:
Code:
handsFreeState = RegRead("HKLM", "System\State\Hardware", "Handsfree")
lastHfState = 0
While (1)
bluetoothState = RegRead("HKLM", "System\CurrentControlSet\Control\Power\State" , "Bluetooth" )
if(bluetoothState = 1)
lastHfState = handsfreeState
handsFreeState = RegRead("HKLM", "System\State\Hardware", "Handsfree")
if(lastHfState = 1 && handsFreeState = 0)
Message("Bt should be turned off now")
endif
endif
Sleep (2000)
EndWhile
Once run, the script will run in background and every two seconds (of course you can change this value) will check if BT is on. If it is, it will check if the handsfree has been disconnected (more precisely, if it was connected during previous pass, AND if it's disconnected now). If it has, the script will display a message box. Of course you need to replace the line:
Code:
Message("Bt should be turned off now")
With code actually launching a program that will turn off BT. The only program capable of this that crosses my mind now is VJVolubilis (www.vijay555.com). A mortscript using it will look like this:
Code:
handsFreeState = RegRead("HKLM", "System\State\Hardware", "Handsfree")
lastHfState = 0
While (1)
bluetoothState = RegRead("HKLM", "System\CurrentControlSet\Control\Power\State" , "Bluetooth" )
if(bluetoothState = 1)
lastHfState = handsfreeState
handsFreeState = RegRead("HKLM", "System\State\Hardware", "Handsfree")
if(lastHfState = 1 && handsFreeState = 0)
Run("\Program Files\vijay555\VJVolubilis.exe", "-blueoff")
endif
endif
Sleep (1000)
EndWhile
I know that there are other, maybe smaller programs that can turn off BT, but i simply can't remember any of them now.
A note: the only way to stop this script is to kill mortscript.exe process with a taskmanager or soft-reseting your device. And if you want to play around with editing it, make sure to kill the one currently running before running another instance.
And if you're worried about how constantly running mortscript will affect your device's performance - it won't affect it at all I use a similar script than monitors the headphones state and starts MortPlayer if i plug in the headphones. Never noticed any additional CPU load.
Click to expand...
Click to collapse
Thank you mr_deimos, appreciate yr tweak n will give it a try
sorry guys, haven't you ever had bad, bad day...
so it was bad one for me..
sorry again.
so, you may remove whole thing related to my whining..

com.android.phone mic volume

hello all
want to know if possible to increase mic volume of phone app. want to recompile packages/apps/Phone/src/com/android/phone and replace com.android.phone on milestone
A set volume with int like setStreamVolume
B manual amplitude akkumulation on raw byte stream
1st question where to find the point where the stream of the mic is requested in com/android/phone. If sb can tell, i will find the rest
2nd question is it possible to replace com.android.phone or have to parallel
...no problemo
searched the source
searched google
searched this forum
searched the source
nothing found
please answer solution, no ask why or say its wrong what i try
thx
will try to recompile and replace com.android.phone next weekend, if i find time. will then post the exact result of my attemts
no success to replace the phone app. is it possible?
since i noticed, that nobody has answered yet, i will try to figure out my idea in other words:
the original phone app for android has currently no functionality to set the microphone sensitivity directly. this is a problem if sb. wants to call another person who has a low speaker.
to solve this, i want to increase the microphone sensitivity by simply multiply the amplitude of the input stream (microphone stream).
Code:
0x20, 0x00, 0x7F, 0x00, 0x20, 0x00, 0x7F, 0x00
will be multiplied by 2 with saturation to
Code:
0x40, 0x00, 0x7F, 0x00, 0x40, 0x00, 0x7F, 0x00
expecting signed bytes as data format.
this will simulate that i will speak very clear even if i would speek normal. the saturation effect could be post processed to reduce crackling, but this is not high priority.
could anybody help me to start this? it will be grateful, even if it is a litte urgent.
Have you looked at AudioFlinger?
I"ve been studying HTC FM Tuner, and I noticed that AudioFlinger set the volumes to my audio streams (represented as threads). If you could find a way to access the "recording" thread from mic, then maybe you can increase volume. AudioFlinger is low level stuff, and I don't know how to access it, but that could be a possibility for you.
Here's more info on it.
http pdk.android.com |online-pdk|guide|audio.html
Look at my log for FM Radio
.774: DEBUG/FmReceiverService(101): ******* ******* Processing job:FM_SET_VOLUME TimeSent:11:58:06 PM
07-15 23:58:06.774: DEBUG/FmReceiverService(101): ***** ***** processCommands:[]
07-15 23:58:06.824: INFO/global(1108): Default buffer size used in BufferedReader constructor. It would be better to be explicit if an 8k-char buffer is required.
07-15 23:58:06.824: DEBUG/AudioHardwareQSD(55): FM radio started.
07-15 23:58:06.824: DEBUG/AudioHardwareQSD(55): FM: Set Aux Gain 0 success
07-15 23:58:06.824: DEBUG/AudioFlinger(55): setStreamVolume(), stream:2, value:0.019055, output:1
07-15 23:58:06.824: DEBUG/AudioFlinger(55): setStreamVolume(), stream:4, value:0.501187, output:1
07-15 23:58:06.824: DEBUG/AudioFlinger(55): setStreamVolume(), stream:5, value:0.263027, output:1
07-15 23:58:06.824: DEBUG/AudioFlinger(55): setStreamVolume(), stream:7, value:1.000000, output:1
hello
does anybody know a good android developer forum ?

Gingerbread Android Keyboard, no root required

Hi, I ported keyboard from gingerbread, this version doesn't required root.
Just install it like regular app.
Works on android 2.1-2.3
r21:GingerKeyboard_r21.apk
- Fixed landscape issue
- Fixed backup service FC
- other small fixes
r19:GingerKeyboard_r19.apk
- Fixed crash on selecting text starting from the end
- Fixed word replace on suggest selection
- Fixed vibro
r15:GingerKeyboard_r15.apk
- added Bulgarian layout & dict.
does not work on my nexus one 2.2... only force closes
StevenZoz said:
does not work on my nexus one 2.2... only force closes
Click to expand...
Click to collapse
Can you please, post stack trace?
kind of new at this.. not sure what part u need but its in here:
W/dalvikvm( 3408): ERROR: Unable to find decl for native Lcom/android/inputmethod/latin/BinaryDictionary;.openNative (Landroid/content/res/AssetManager;Ljava/lang/String;II)I
W/dalvikvm( 3408): JNI_OnLoad returned bad version (-1) in /system/lib/libjni_latinime.so 0x44923960
D/alogcat ( 3176): stopped
E/BinaryDictionary( 3408): Could not load native library jni_latinime
D/dalvikvm( 3408): GC_EXTERNAL_ALLOC freed 1584 objects / 108624 bytes in 45ms
W/dalvikvm( 3408): No implementation found for native Lcom/android/inputmethod/latin/BinaryDictionary;.openNative (Ljava/nio/ByteBuffer;II)I
D/AndroidRuntime( 3408): Shutting down VM
W/dalvikvm( 3408): threadid=1: thread exiting with uncaught exception (group=0x4001d7f0)
I/Process ( 3408): Sending signal. PID: 3408 SIG: 9
W/KeyCharacterMap( 2174): No keyboard for id 65540
W/KeyCharacterMap( 2174): Using default keymap: /system/usr/keychars/qwerty.kcm.bin
Port to 2.1 please.
[ Sent from my Huawei Ascend ] [ Questions? Ask me! ]
Works on Galaxy Tab, but is too small
Works fine for me, but the auto correct is dire :/
Doesn't work on my Desire Z, told me to force close, any solution?
No greek language?
dEris said:
Port to 2.1 please.
[ Sent from my Huawei Ascend ] [ Questions? Ask me! ]
Click to expand...
Click to collapse
this, please
update (check first post for file):
GingerKeyboard_r3.apk
- now it should works with preinstalled android keyboard
Works like a charm on my N1. One question though, the Gingerbread keyboard option sometimes gets unticked in the keyboard settings, a few times through general use and always on reboot (or if I turn it off for a flight and then turn it on).
Is there anyway to make it the default option instead of the Android keyboard?
(and before you ask, I have installed it to internal memory instead of the sd card).
Thanks,
Can you please check this version: http://dl.dropbox.com/u/1134234/apk/gingerkeyboard/GingerKeyboard.apk
works great on mytouch 4g with vibration... thanks but where is the orange line on the space bar like on the nexus s?
Only one that works with sense that i found so far, great job! But seems like no dictionary for me. Any ideas?
Sent from my HTC Liberty using XDA App
wish we can make it look like the same one on the nexus s. when i compare the two comes this one doesnt really look like it.
awesome, now is the default keyboard after reboot. Thanks man!
The keyboard seems to force close a bit, has some accuracy issues, and is missing a dictionary. Other than that, it's very cool. Any ideas on how to fix these things? This is on a mytouch 4g.
Any bugs I should know about?
hey does this work on samsung galaxy 5 (android 2.1) .if not is there any way ..........

[DEV]Porting Nexus S touchscreen drivers to HTC phones for ICS

EDIT:
A better fix has been found for touchscreens using HTCs driver allowing us to actually use the original driver instead of porting another (although porting did seem to work mostly, this seems more ideal).
http://forum.xda-developers.com/showthread.php?p=19047963
Guess I'll leave this all here though in case someone ever looks it up again.
Ok, since I've been getting so many requests for information about how I did this, I decided to start a thread dedicated to it.
With Ice Cream Sandwich, Google seems to have changed the way it expects the touchscreen drivers to behave. Many of the HTC phones (starting with the Evo and Inc) all the way up to current HTC phones utilize some version of HTC's driver (drivers/input/touchscreen/atmel.c) written for the Atmel maXTouch touchscreen. This driver doesn't work at all on ICS. Many people will say its only the SDK port we're working with, but I have a good feeling some adjustments will need to be made to get the HTC driver working when the source is released anyways.
The few drivers that do work are:
synaptics-i2c-rmi.c - for Synaptics TS
---> Nexus One, Desire...possibly others that utilize this driver
mxt224.c - for Atmel maXTouch
---> Samsung Nexus S and most likely other Samsung phones
elan8232-i2c.c for elan TS
---> HTC Leo/HD2
From what I can tell, the only real big different that jumps out at me between these drivers and ours is the way the driver WRITES to the i2c bus. The Samsung and elan drivers both use i2c_master_send to write to the i2c bus. The Synaptics driver does it a little differently, using i2c_smbus_write_byte_data, which appears to do something similar, but needs to be used more often to accomplish the same thing.
The HTC driver uses i2c_transfer, which according to what I've found online, is not the preferred method of writing to the bus and i2c_master_send should be used instead.
It would seem like it would be easier to just modify the existing HTC driver to incorporate the newer method, but I didn't realize that until after I had already gotten the Samsung driver working! It should be possible, but I'm not sure I have the expertise to do this as it would require tweaking a lot of code in the driver.
Anyways, on to what I actually did.
I was able to compile the Samsung driver into cuviper's CM7 kernel, but the driver kept hanging on reading the i2c bus from what I could see. I figured it'd have this problem with writing to it as well, so I changed both methods at the same time.
Here's the original read and write methods from HTC's atmel.c driver
Code:
int i2c_atmel_read(struct i2c_client *client, uint16_t address, uint8_t *data, uint8_t length)
{
int retry;
uint8_t addr[2];
struct i2c_msg msg[] = {
{
.addr = client->addr,
.flags = 0,
.len = 2,
.buf = addr,
},
{
.addr = client->addr,
.flags = I2C_M_RD,
.len = length,
.buf = data,
}
};
addr[0] = address & 0xFF;
addr[1] = (address >> 8) & 0xFF;
for (retry = 0; retry < ATMEL_I2C_RETRY_TIMES; retry++) {
if (i2c_transfer(client->adapter, msg, 2) == 2)
break;
mdelay(10);
}
if (retry == ATMEL_I2C_RETRY_TIMES) {
printk(KERN_ERR "i2c_read_block retry over %d\n",
ATMEL_I2C_RETRY_TIMES);
return -EIO;
}
return 0;
}
int i2c_atmel_write(struct i2c_client *client, uint16_t address, uint8_t *data, uint8_t length)
{
int retry, loop_i;
uint8_t buf[length + 2];
struct i2c_msg msg[] = {
{
.addr = client->addr,
.flags = 0,
.len = length + 2,
.buf = buf,
}
};
buf[0] = address & 0xFF;
buf[1] = (address >> 8) & 0xFF;
for (loop_i = 0; loop_i < length; loop_i++)
buf[loop_i + 2] = data[loop_i];
for (retry = 0; retry < ATMEL_I2C_RETRY_TIMES; retry++) {
if (i2c_transfer(client->adapter, msg, 1) == 1)
break;
mdelay(10);
}
if (retry == ATMEL_I2C_RETRY_TIMES) {
printk(KERN_ERR "i2c_write_block retry over %d\n",
ATMEL_I2C_RETRY_TIMES);
return -EIO;
}
return 0;
}
And here's Samsung's methods from their mxt224.c driver
Code:
static int read_mem(struct mxt224_data *data, u16 reg, u8 len, u8 *buf)
{
int ret;
u16 le_reg = cpu_to_le16(reg);
struct i2c_msg msg[2] = {
{
.addr = data->client->addr,
.flags = 0,
.len = 2,
.buf = (u8 *)&le_reg,
},
{
.addr = data->client->addr,
.flags = I2C_M_RD,
.len = len,
.buf = buf,
},
};
ret = i2c_transfer(data->client->adapter, msg, 2);
if (ret < 0)
return ret;
return ret == 2 ? 0 : -EIO;
}
static int write_mem(struct mxt224_data *data, u16 reg, u8 len, const u8 *buf)
{
int ret;
u8 tmp[len + 2];
put_unaligned_le16(cpu_to_le16(reg), tmp);
memcpy(tmp + 2, buf, len);
ret = i2c_master_send(data->client, tmp, sizeof(tmp));
if (ret < 0)
return ret;
return ret == sizeof(tmp) ? 0 : -EIO;
}
You can see they're very similar. Anyways, for some reason, cpu_to_le16 function either doesn't work correctly with the Snapdragon, or the build isn't linking them right, even though I made sure it had all the right files and #includes. So I took them out. And replaced them with part of the functions from the HTC driver. And after a couple failed attempts at booting, I came up with this:
Code:
static int read_mem(struct mxt224_data *data, u16 reg, u8 len, u8 *buf)
{
int ret;
uint8_t addr[2];
struct i2c_msg msg[] = {
{
.addr = data->client->addr,
.flags = 0,
.len = 2,
.buf = addr,
},
{
.addr = data->client->addr,
.flags = I2C_M_RD,
.len = len,
.buf = buf,
},
};
addr[0] = reg & 0xFF;
addr[1] = (reg >> 8) & 0xFF;
ret = i2c_transfer(data->client->adapter, msg, 2);
if (ret < 0)
return ret;
return ret == 2 ? 0 : -EIO;
}
static int write_mem(struct mxt224_data *data, u16 reg, u8 len, const u8 *buf)
{
int ret;
uint8_t addr[len + 2];
addr[0] = reg & 0xFF;
addr[1] = (reg >> 8) & 0xFF;
memcpy(addr, buf, len);
ret = i2c_master_send(data->client, addr, sizeof(addr));
if (ret < 0)
return ret;
return ret == sizeof(addr) ? 0 : -EIO;
}
After those changes, I was able to use the touchscreen in CM7 just like I had with the HTC driver. Very responsive, no problems whatsoever. Also works fine in the ICS SDK ports. It only works in pointer mode in ICS currently, but that isn't a driver issue I don't think and can be fixed by changing a couple of the configuration files.
The only other things I had to change where in my board init file, but that was simply adding and deleting some of the touchscreen init functions and replacing them with similar ones from the Samsung driver. As well as populating the config info with HTC's values (although they also seemed to work fine with the stock ones from the Samsung build).
Anyways, if you have any questions, or more information please let me know. I could be totally wrong about the i2c bus thing, but as of right now it seems to make sense to me!
Here's my github for anyone that wishes to look at my changes.
Edit: atmel.c is the correct name of the driver source file. I got it mixed up with the way the HTC driver identifies itself in the kernel, which is atmel-touchscreen. Sorry for the confusion. Thanks to the_platypus to catching this.
Also, just wanted to reiterate this should work with just about any HTC phone using the maXTouch sensor. Just grab mxt224.c and .h and put them in the correct spot, modify the Kconfig file for touchscreens, and edit your board init file accordingly.
To clear up some confusion and so I don't have to answer too many PMs, I'm going to add some details about how to get this to work.
First of all, grab mxt224.c, Kconfig, and Makefile from drivers/input/touchscreen/, and place them in your build folder in the same place.
Then do the same with mxt224.h, which is under include/linux/input/.
Go to arch/arm/mach-msm and grab my board-incrediblec.c. Compare it to whatever yours is (i.e. board-supersonic.c).
You'll need to change the name of the power init function for the touchscreen, and do something similar with the config data that I added to my init file. Make sure you scroll alllll the way down until you find the section about virtual keys. Make sure you change the name of "virtualkeys.atmel-touchscreen" to "virtualkeys.mxt224_ts_input" (I think thats correct, I'll check in a bit and correct if I'm wrong).
A note about the config data section for initializing the touchscreen:
I took the values from the original struct that was there from HTC, for my touchscreen revision. Normally, there are multiple hardware revisions of the touchscreen it seems, and upon booting, the kernel checks which one you have, and picks the correct one. I took this out since I was only trying to get it to work on my phone. Now that I know it works, I'm going to go back and readd the code to check the rev so it'll get the right config data.
This also means there's a good chance you need to copy the values from the original HTC init functions and put them into the struct I made. It can be a pain in the ass kind of, but it'll ensure your touchscreen works correctly. I want to note that mine worked fine with the actual Samsung values, but was kind of wonky.
Also, you'll have to edit your .config if you already have one. Go in there and put a big ol # in front of the line about atmel-touchscreen or whatever and save it. When you make your build it'll tell you about a great new driver that it found (surprise!) and ask if you want to enable it. Say yes, obviously. The first part is only important if you already have a .config or if your config wants to use atmel.c by default. Cause you don't. You ARENT using the HTC driver anymore. You want to use mxt224!
Sorry for being confusing, I'm not always the best at explaining things
Hey guys, I see this has about a thousand views. I'm not demanding a response but I'm curious if anyone else was able to get this working. If you did, please post!
Sent from my ADR6300 using xda premium
After porting the driver on Thunderbolt, I do get a log of the init, but there is no getevent data and it is currently unresponsive. I think it is related to my specific functions and the way they are translated, but in theory it does recognize the new driver.
Sent from my ADR6400L using Tapatalk
Interesting...
Would you mind posting a logcat (from cold boot) and a dmesg dump?
Also, are you using the kernel on ICS or some other ROM? I found it helpful to test my kernel changes in CM7 until I got it working, only because I was more sure of what would work.
I'm actually trying to tweak the original HTC driver now to use the newer i2c_master_send method, which is proving somewhat difficult. It actually works using i2c_master_send instead of i2c_message, but its god awfully slow. I'm chalking that up to the ridiculous amount of i2c_writes (only 1 byte each!) the HTC driver wants to do individually to modify touch settings on the fly. I'm trying to see if there's a better way to do this and group them together to make less writes on the bus. The Samsung driver seems to do this pretty well...
swm5126 said:
Interesting...
Would you mind posting a logcat (from cold boot) and a dmesg dump?
Also, are you using the kernel on ICS or some other ROM? I found it helpful to test my kernel changes in CM7 until I got it working, only because I was more sure of what would work.
I'm actually trying to tweak the original HTC driver now to use the newer i2c_master_send method, which is proving somewhat difficult. It actually works using i2c_master_send instead of i2c_message, but its god awfully slow. I'm chalking that up to the ridiculous amount of i2c_writes (only 1 byte each!) the HTC driver wants to do individually to modify touch settings on the fly. I'm trying to see if there's a better way to do this and group them together to make less writes on the bus. The Samsung driver seems to do this pretty well...
Click to expand...
Click to collapse
I really think HTC takes everything 1 byte at a time. Look at how many devices they have released and they are still using almost the same size battery they had in the G1. Anyway, back to the topic at hand.
For anyone else, here are the commands to get those files if you need to post them:
Code:
adb shell logcat -d > logcat.txt
adb shell dmesg > dmesg.txt
And mine are included with this post. I didn't try running it on CM7 because my daily driver is a Sense ROM. Even I don't understand why I run Sense when I use SPB launcher and disable most of the Sense features anyway.
swm5126 said:
Hey guys, I see this has about a thousand views. I'm not demanding a response but I'm curious if anyone else was able to get this working. If you did, please post!
Sent from my ADR6300 using xda premium
Click to expand...
Click to collapse
I am working on porting it to the G2 but am having problems getting it to init. got the kernel to build, and boot but no joy with the ts... let me get the logcat and i will post
http://www.mediafire.com/?jpt3estxqxs4i - logcat and dmesg
Is there any way to just edit the kernel and ROM instead of using the Source Code?
twistedumbrella said:
I really think HTC takes everything 1 byte at a time. Look at how many devices they have released and they are still using almost the same size battery they had in the G1. Anyway, back to the topic at hand.
For anyone else, here are the commands to get those files if you need to post them:
Code:
adb shell logcat -d > logcat.txt
adb shell dmesg > dmesg.txt
And mine are included with this post. I didn't try running it on CM7 because my daily driver is a Sense ROM. Even I don't understand why I run Sense when I use SPB launcher and disable most of the Sense features anyway.
Click to expand...
Click to collapse
Looks like the touchscreen never actually gets to power on for some reason...probably something in your board init file I would think, but I'm not sure. Wish I had more devices to test this out on. If you can, I'd try the latest CM7 for the Tbolt, and grab the kernel from whoever maintains it and build that one and see if it works, since that's how I had success so far.
OdiemanSAM said:
I am working on porting it to the G2 but am having problems getting it to init. got the kernel to build, and boot but no joy with the ts... let me get the logcat and i will post
http://www.mediafire.com/?jpt3estxqxs4i - logcat and dmesg
Click to expand...
Click to collapse
Sounds like you have about the same issue as twisted does. Try CM7 and adding it to the current kernel for your device, unless that's what you've already done.
swm5126 said:
Looks like the touchscreen never actually gets to power on for some reason...probably something in your board init file I would think, but I'm not sure. Wish I had more devices to test this out on. If you can, I'd try the latest CM7 for the Tbolt, and grab the kernel from whoever maintains it and build that one and see if it works, since that's how I had success so far.
Sounds like you have about the same issue as twisted does. Try CM7 and adding it to the current kernel for your device, unless that's what you've already done.
Click to expand...
Click to collapse
I'm on CM7 and not sure what ts i have... the desire z/g2???? anyone... I tried changing it to the synaptics i2c rmi and the init file to synaptics_i2c_rmi_ts_input... is that right???
EDIT: I found it... it is synaptics-rmi-touchscreen
OdiemanSAM said:
I'm on CM7 and not sure what ts i have... the desire z/g2???? anyone... I tried changing it to the synaptics i2c rmi and the init file to synaptics_i2c_rmi_ts_input... is that right???
EDIT: I found it... it is synaptics-rmi-touchscreen
Click to expand...
Click to collapse
Well you have the Atmel maXTouch, just like the Incredible and many other HTC phones. You shouldn't need to change any files other than your board init file and adding the mxt224.c/.h to their respective directories. It's a little more than renaming functions in the board init file, by the way. And it should be mxt224_ts_input. The synaptics stuff doesn't relate to our phones, only the Nexus One, Desire, and maybe earlier models.
djpbx said:
Is there any way to just edit the kernel and ROM instead of using the Source Code?
Click to expand...
Click to collapse
Uhh... well we are editing the kernel. That's what we're doing. You can't edit much of anything at all in a kernel once it's built, that's why I modified the source.
swm5126 said:
Looks like the touchscreen never actually gets to power on for some reason...probably something in your board init file I would think, but I'm not sure. Wish I had more devices to test this out on. If you can, I'd try the latest CM7 for the Tbolt, and grab the kernel from whoever maintains it and build that one and see if it works, since that's how I had success so far.
Sounds like you have about the same issue as twisted does. Try CM7 and adding it to the current kernel for your device, unless that's what you've already done.
Click to expand...
Click to collapse
I grabbed CM7 just after making that post. The kernel built for CM7 is a port from other devices, modified to work. The version I am using is a newer replacement CM7 kernel made from the source for the Tbolt. I am pretty sure the same results happened with the CM "port" kernel that was being tested.
I remember hearing about the issue when they ported gingerbread. Let me see if I can find the info.
swm5126 said:
Well you have the Atmel maXTouch, just like the Incredible and many other HTC phones. You shouldn't need to change any files other than your board init file and adding the mxt224.c/.h to their respective directories. It's a little more than renaming functions in the board init file, by the way. And it should be mxt224_ts_input. The synaptics stuff doesn't relate to our phones, only the Nexus One, Desire, and maybe earlier models.
Click to expand...
Click to collapse
ok so my init file is board-vision.c???? right??? what else do i need to change??? besides the virtualkeys.mxt224_ stuff????
I'd like to help out but you'll have to give me until later tonight or tomorrow. I'd like to see if I can get the HTC driver working in ICS with some changes, thus eliminating the confusion of getting the Samsung driver to work people seem to be having.
If its not possible to fix the HTC driver I'll post a step by step guide on how to apply what I've done with the Samsung driver to a kernel.
Sent from my ADR6300 using xda premium
twistedumbrella said:
I grabbed CM7 just after making that post. The kernel built for CM7 is a port from other devices, modified to work. The version I am using is a newer replacement CM7 kernel made from the source for the Tbolt. I am pretty sure the same results happened with the CM "port" kernel that was being tested.
I remember hearing about the issue when they ported gingerbread. Let me see if I can find the info.
Click to expand...
Click to collapse
Ok. I actually just compiled the Tbolt kernel for someone else, I don't have the download link handy but I'll post it here in a few hours.
Sent from my ADR6300 using xda premium
swm5126 said:
Ok. I actually just compiled the Tbolt kernel for someone else, I don't have the download link handy but I'll post it here in a few hours.
Sent from my ADR6300 using xda premium
Click to expand...
Click to collapse
Lol. **** you. Bust my *** and you just sneeze and make the thing. Haha. Thanks. I am curious what the difference was that I didn't catch. I will have to post my board c file if you want to take a glance at it, but the driver file should be exactly the same because I was comparing Incredible to Tbolt and the atmel config and such were word for work. The big difference was the init method. Everything else matched up.
twistedumbrella said:
Lol. **** you. Bust my *** and you just sneeze and make the thing. Haha. Thanks. I am curious what the difference was that I didn't catch. I will have to post my board c file if you want to take a glance at it, but the driver file should be exactly the same because I was comparing Incredible to Tbolt and the atmel config and such were word for work. The big difference was the init method. Everything else matched up.
Click to expand...
Click to collapse
Yeah didn't mean to make you do work for nothing, I had just done it for someone on a whim using a different source than you were using and I'm not sure if it worked or not yet.
He said it was working under CM7 for sure though, he just PMed me.
http://www.mediafire.com/?avcb4ev5k31indm
Sent from my ADR6300 using xda premium
swm5126 said:
Yeah didn't mean to make you do work for nothing, I had just done it for someone on a whim using a different source than you were using and I'm not sure if it worked or not yet.
He said it was working under CM7 for sure though, he just PMed me.
http://www.mediafire.com/?avcb4ev5k31indm
Sent from my ADR6300 using xda premium
Click to expand...
Click to collapse
I'll have to try it out against my setup. It is good I did it either way because I am sure more changes will be needed down the road. I just couldn't help giving you a hard time
Sent from my ADR6400L using Tapatalk
Didn't seem to work in ICS. No getevent data, and no touch response. Making sure I properly added in the zimage just in case, but it should be right.

[Q] Multi-Touch support on Nook Simple Touch?

Ok, I rooted my Nook Simple Touch (Running 1.1) using:
http://forum.xda-developers.com/showthread.php?t=1351719
Many things aren't working as expected (e.g. The Android Market doesn't work), but in reading the thread it sounds like that might be a common problem. I do have root access, and can connect via ADB and side-load apps.
I'm looking to do pinch-zoom on PDF documents, but I can't seem to get it to work in Aldiko, and I'm not sure if that's because pinch-zoom isn't supported, or I'm doing something wrong.
There appears to be conflicting information on multi-touch support on the Nook Simple Touch on the forums.
Can anyone clarify whether this support is present, and if so, maybe suggest a good PDF app that enables it?
Well, on version 1.0.0 and 1.0.1 there was no support for multitouch. When we read the announcement for 1.1.0, we saw that multitouch would be enabled, but nobody has seen a trace of that yet.
I talked to some guys in here, and asked for info on where it can be enabled (it is disabled when rooting).
I downloaded a midi controller(an app that shows a bunch of sliders on the screen and communicates its position to a pc) and I noticed I could move a vertical slider and another horizontal one at the same time... but then google maps didnt react to my pinching
I have tried with Multitouch Test ( https://market.android.com/details?...DEsImRlLmdyZWVucm9ib3QubXVsdGl0b3VjaHRlc3QiXQ..) and it looks like the hw is capable of multitouch!
I don't know how to enable it, though
I've tried to enable it by using this http://nookdevs.com/NookColor_Enable_MultiTouch
but Multitouch tester only detects one input....
Although if I used two fingers the second registered movement intermittently, jumping from on to another instead of two solid points.
You can try this:
Unpack this file to where adb is (unless you have adb in your path)
Then in cmd:
Code:
adb shell
mount -o remount,rw -t ext2 /dev/block/mmcblk0p5 /system
exit
adb push android.hardware.touchscreen.multitouch.distinct.xml /system/etc/permissions/android.hardware.touchscreen.multitouch.distinct.xml
A reboot is probably needed
Thanks, going to try it right now.
---------- Post added at 10:13 PM ---------- Previous post was at 10:03 PM ----------
Same behaviour, mmmmmm, are we sure they enabled multitouch?
Anyway thanks for the help
eded333 said:
Thanks, going to try it right now.
---------- Post added at 10:13 PM ---------- Previous post was at 10:03 PM ----------
Same behaviour, mmmmmm, are we sure they enabled multitouch?
Anyway thanks for the help
Click to expand...
Click to collapse
Well:
Code:
include/linux/zforce.h:#define ZF_NUM_FINGER_SUPPORT 2
..
drivers/input/touchscreen/zforce.c: #define ZF_SETCONFIG_DUALTOUCH 0x00000001
I'd say yes
ros87 said:
Well:
Code:
include/linux/zforce.h:#define ZF_NUM_FINGER_SUPPORT 2
..
drivers/input/touchscreen/zforce.c: #define ZF_SETCONFIG_DUALTOUCH 0x00000001
I'd say yes
Click to expand...
Click to collapse
Then something else is missing
eded333 said:
Then something else is missing
Click to expand...
Click to collapse
Very likely.
Maybe some kernel flag .. I dunno .. but I'm sure Google can tell you how that chain is supposed to be set up
eded333 said:
I've tried to enable it by using this http://nookdevs.com/NookColor_Enable_MultiTouch
but Multitouch tester only detects one input....
Although if I used two fingers the second registered movement intermittently, jumping from on to another instead of two solid points.
Click to expand...
Click to collapse
Which Tester did you use? I could see it work only with the one I linked, from greenrobot...
I have also tried to enable moultitouch per Nookdevs instruction, but had no effect
met67 said:
Which Tester did you use? I could see it work only with the one I linked, from greenrobot...
I have also tried to enable moultitouch per Nookdevs instruction, but had no effect
Click to expand...
Click to collapse
I used multitouch tester, but that one gives the same output as the one I used, it dosnt really show two points, it goes intermitently but fast fom one to another, if you check the number of pointers, its allways 1.
I tried both XML's and I'm getting the same results as everyone else.
The multitest app doesn't detect the multitouch (not even periodically) for me.
Arg, I was hoping this was going to be an easy question :-(.
Well, what is 100% certain is that the driver is building the data needed for dualtouch.
Code:
int touchdata_collect( u8* payload )
{
u8 i;
reported_finger_count = payload[0];
framecounter++;
if( reported_finger_count > ZF_NUM_FINGER_SUPPORT )
{
zforce_error("Detected (%d) more fingers the max(%d) number supported\n",
reported_finger_count, ZF_NUM_FINGER_SUPPORT );
return -EINVAL ;
}
for( i=0; i< reported_finger_count; i++ )
{
tinfo[i].x = (u16)((payload[2+i*ZF_COORDATA_SIZE]<<8)|
payload[1+i*ZF_COORDATA_SIZE]);
tinfo[i].y = (u16)((payload[4+i*ZF_COORDATA_SIZE]<<8)|
payload[3+i*ZF_COORDATA_SIZE]);
tinfo[i].id = (u8)((payload[5+i*ZF_COORDATA_SIZE]&0x3C)>>2);
tinfo[i].state = (u8)((payload[5+i*ZF_COORDATA_SIZE]&0xC0)>>6);
tinfo[i].rsvrd = (u8)( payload[6+i*ZF_COORDATA_SIZE] );
tinfo[i].prblty = (u8)( payload[7+i*ZF_COORDATA_SIZE] );
tinfo[i].valid = 1;
tinfo[i].z = reported_finger_count == 0 ? 0 : 20;
}
return reported_finger_count;
}
How that data is used further on in the chain is beyond my knowledge, but the data is there.
This is a somewhat absurd situation as usually the lack of dual/multitouch are on hardware/driver level
ros87 said:
Well, what is 100% certain is that the driver is building the data needed for dualtouch.
Code:
int touchdata_collect( u8* payload )
{
u8 i;
reported_finger_count = payload[0];
framecounter++;
if( reported_finger_count > ZF_NUM_FINGER_SUPPORT )
{
zforce_error("Detected (%d) more fingers the max(%d) number supported\n",
reported_finger_count, ZF_NUM_FINGER_SUPPORT );
return -EINVAL ;
}
for( i=0; i< reported_finger_count; i++ )
{
tinfo[i].x = (u16)((payload[2+i*ZF_COORDATA_SIZE]<<8)|
payload[1+i*ZF_COORDATA_SIZE]);
tinfo[i].y = (u16)((payload[4+i*ZF_COORDATA_SIZE]<<8)|
payload[3+i*ZF_COORDATA_SIZE]);
tinfo[i].id = (u8)((payload[5+i*ZF_COORDATA_SIZE]&0x3C)>>2);
tinfo[i].state = (u8)((payload[5+i*ZF_COORDATA_SIZE]&0xC0)>>6);
tinfo[i].rsvrd = (u8)( payload[6+i*ZF_COORDATA_SIZE] );
tinfo[i].prblty = (u8)( payload[7+i*ZF_COORDATA_SIZE] );
tinfo[i].valid = 1;
tinfo[i].z = reported_finger_count == 0 ? 0 : 20;
}
return reported_finger_count;
}
How that data is used further on in the chain is beyond my knowledge, but the data is there.
This is a somewhat absurd situation as usually the lack of dual/multitouch are on hardware/driver level
Click to expand...
Click to collapse
That is VERY interesting.
Is it possible that its something simple like the permissions XML file has a different name with the Simple Touch?
I'm monitoring this thread. Sure hope some multi-touch function can be gotten out of the NST
I tried the xml file from the Sony PRS-T1 as well (which apparently has multitouch), but still no luck.
Did not look so much different, though.
I uploaded the files from the Sony reader here, in case someone wants to look into them: mediafire.com/?vuv6v4y4yd44o97
(Won't let me post a clickable link, sorry)
i hope to see Multitouch working well on nst
Market
Install the "SearchMarket" app. And the Android Market will work just fine!
I may be wrong, but isn't touch screen tech infrared on Nst? if so multitouch is not possible.

Categories

Resources