[Request] kernel source Forensics: enable more than two touch points - Kindle Fire Android Development

Just did a little research on the Kindle touchscreen controller ILITEK 2107QS001K (posted my results here).
Because I'm curious I Looked at the source code provided by Amazon.
Link: http://www.amazon.com/gp/help/customer/display.html?nodeId=200203720
Filename: Kindle_src_6.2_user_3003020.tar.gz
Found this file: kernel\android-2.6.35\drivers\input\touchscreen\ilitek.c
Lines 1135-1144:
Code:
// read touch resolution
[B]i2c.max_tp = 2;[/B]
if(ilitek_i2c_read_info(i2c.client, ILITEK_TP_CMD_GET_RESOLUTION, buf, res_len) < 0){
return -1;
}
[B]if(i2c.protocol_ver >= 0x200)[/B]{
// maximum touch point
[B]i2c.max_tp = buf[6];[/B]
// maximum button number
[B]i2c.max_btn = buf[7];[/B]
}
Those lines smell like they are the ones responsible for the amount of touch points enabled.
max_tp is defined in a struct near the top of the file with a comment stating "maximum touch point".
Thís file is also the only one that has different permissions than all the other files in this directory.
It would be interesting to get the debug output of the whole function ilitek_i2c_read_tp_info which is where the above lines are contained in (there are lot's of printk's in there).
Also it would be good to know what the value of i2c.protocol_ver is and if the if-clause evaluates TRUE.
Basically everything that goes on in those lines seems interesting so me.
Is there anybody out there who can tell me if I'm headed in the right direction?
EDIT
I also found this: http://wenku.baidu.com/view/77869053ad02de80d4d840ca.html - an Ilitek touch driver development manual for Android kernels. May be helpful.

Found this tool on the Android Market: ILITEK Touch Utility
Installed it on my KF and this is the main menu of the app:
Calibration - Calibrate touch screen
Upgrade - Upgrade new firmware from Hex file
Utility - Debug touch screen (submenus seen in screenshots below)
Information - Show touch screen information
Version - version 1.4.8 2011/04/11
The output of Information is this:
Code:
Firmware version: 10.2.5.0
Protocol version: 1.2
Max. X: 3968
Max. Y: 2304
Unfortunately it doesn't output something like max_tp.
I also ran Calibration and now touches seem to be registered more accurately.

emelie said:
Found this tool on the Android Market: ILITEK Touch Utility
Installed it on my KF and this is the main menu of the app:
Calibration - Calibrate touch screen
Upgrade - Upgrade new firmware from Hex file
Utility - Debug touch screen (submenus seen in screenshots below)
Information - Show touch screen information
Version - version 1.4.8 2011/04/11
The output of Information is this:
Code:
Firmware version: 10.2.5.0
Protocol version: 1.2
Max. X: 3968
Max. Y: 2304
Unfortunately it doesn't output something like max_tp.
I also ran Calibration and now touches seem to be registered more accurately.
Click to expand...
Click to collapse
This utility does "seem" to make the touchscreen more accurate. I'll have to spend time with my Fire though to be sure. Nice finds by the way!
*Btw, I think the firmware is the one responsible for setting multitouch points. The 2 is more like a default for when the version can't request the supported maximum number through the firmware.

yups have tried such stuff on X10, ARC, other deivces...
it all depends on the TS firmware...
we can improve the driver but if the firmware doesnt support it we cant do much...
also do keep in mind that Amazon got this tablet to the market at < 200$, so all the components (internally & externally) are NOT of highest caliber... cost reduction strategies...

DooMLoRD said:
yups have tried such stuff on X10, ARC, other deivces...
it all depends on the TS firmware...
we can improve the driver but if the firmware doesnt support it we cant do much...
also do keep in mind that Amazon got this tablet to the market at < 200$, so all the components (internally & externally) are of highest caliber... cost reduction strategies...
Click to expand...
Click to collapse
dont you mean are not? lol

death2all110 said:
dont you mean are not? lol
Click to expand...
Click to collapse
ya got disturbed by a p.m. so i forgot wht i was writing

I see you fixed it lol

More hints in dmesg output:
Code:
<6>[ 1.615631] ilitek_init
<6>[ 1.661468] ilitek_i2c_probe, i2c new style format
<4>[ 1.666473] ilitek_i2c_probe, IRQ: 0xC3
<6>[ 1.670593] ilitek_i2c_register_device, add i2c device, success
<6>[ 1.676818] ilitek_i2c_register_device, client.addr: 0x41
<6>[ 1.682495] ilitek_i2c_register_device, client.adapter: 0xDC839448
<6>[ 1.688995] ilitek_i2c_register_device, client.driver: 0xC06571CC
<6>[ 1.716339] ilitek_i2c_read_tp_info, firmware version 10.2.4.0
<6>[ 1.739715] ilitek_i2c_read_tp_info, protocol version: 1.2
<6>[ 1.763305] ilitek_i2c_read_tp_info, max_x: 3968, max_y: 2304, ch_x: 30, ch_y: 18
<6>[ 1.771148] ilitek_i2c_read_tp_info, max_tp: 2, max_btn: 0
<6>[ 1.777099] input: ilitek_i2c as /devices/platform/i2c_omap.2/i2c-2/2-0041/input/input1
<1>[ 1.785675] ilitek_i2c_register_device, register input device, success
<1>[ 1.792785] ilitek_i2c_register_device, request irq, success
<6>[ 1.798736] ilitek_init, register chrdev(246, 0)

Some time ago I found a module for the milestone that enables more touch points, it even let's you edit a config file where you set how many points you want. It worked (kinda) for my old d1 and my d2. I haven't tried it on my fire tho. I'll look around and see if i can find it if anyone is interested.

foxdog66 said:
Some time ago I found a module for the milestone that enables more touch points, it even let's you edit a config file where you set how many points you want. It worked (kinda) for my old d1 and my d2. I haven't tried it on my fire tho. I'll look around and see if i can find it if anyone is interested.
Click to expand...
Click to collapse
Definitely, let us know what you find out.
Sent from my Kindle Fire using xda premium

// read touch resolution
i2c.max_tp = 10;
if(ilitek_i2c_read_info(i2c.client, ILITEK_TP_CMD_GET_RESOLUTION, buf, res_len) < 0){
return -1;
}
if(i2c.protocol_ver >= 0x200){
// maximum touch point
i2c.max_tp = buf[6];
// maximum button number
i2c.max_btn = buf[7];
}
The code above would be my long life goal in fruit ninja.

has anyone gotten anywhere with this?

pyrostic said:
has anyone gotten anywhere with this?
Click to expand...
Click to collapse
i'm interested too, how can we enable more than 2 touch points?

Looking at the driver writing guide, it seems like the controller can't handle more than two points of input, or at least the guide only covers getting input from two points.
Sent from my Kindle Fire using Tapatalk

I compared the two Kernel source tars (6.2 and 6.2.1). There are various file differences, also in ilitek.c - that's the file I mentioned in the OP.
Here is a diff report of ilitek.c 6.2 and ilitek.c 6.2.1: http://jsbin.com/emuyot
That has to be the fix that amazon introduced which makes the screen a bit more responsive.
Would be interesting to know if everybody update their Kernel source to include this patch.
EDIT: Attached the diff as an image in case the jsbin disappears.

emelie said:
I compared the two Kernel source tars (6.2 and 6.2.1). There are various file differences, also in ilitek.c - that's the file I mentioned in the OP.
Here is a diff report of ilitek.c 6.2 and ilitek.c 6.2.1: http://jsbin.com/emuyot
That has to be the fix that amazon introduced which makes the screen a bit more responsive.
Would be interesting to know if everybody update their Kernel source to include this patch.
Click to expand...
Click to collapse
Thanks for the heads-up! I was planning on integrating the changes before but it got pushed to the sidelines and eventually forgotten. There are other changes in 6.2.1 which I'll integrate in my next release.

Related

Need some help from panel 2 and panel 3 users.

As some of you know the Vogue users don't need to chose panel on their kernels. It's autodetected. I'm convinced it can be autodetected on Kaiser aswell.
I have a panel 1 Kaiser myself but I need some panel2 and panel3 users to help me gather some data by running an experimental kernel.
You need the have the following qualifications:
- Have a Kaiser that runs Android
- Know for sure what panel setting your Kaiser needs.
- Know how to use a terminal emulator on your Android
Instructions
1. Use one of the attached kernels.
2. Open a terminal
3. Turn off the screen
4. Turn on the screen
5. Type dmesg
6. Look for the lines that starts with "GPIO" and report in this thread what they say.
All NBH's are non-tilt keyboard and 240x320 but you can of course hexedit them to fit your needs.
EDIT: New files attached!
I've got panel 3. Booting as we speak..
A question occurred to me during the boot. I'm using Haret with zImage btw.. U still want us to manually specify panel type in default.txt, right?
milanche said:
I've got panel 3. Booting as we speak..
A question occurred to me during the boot. I'm using Haret with zImage btw.. U still want us to manually specify panel type in default.txt, right?
Click to expand...
Click to collapse
Yes, the only difference with this version is that it reads some information and prints it to the log. It's not using the information in any way.
Ok. I get:
Code:
Unknown panel type r0=1, r1=1
Again - I've got panel 3. Hope it helps.
milanche said:
Ok. I get:
Code:
Unknown panel type r0=1, r1=1
Again. I've got panel 3. Hope it helps.
Click to expand...
Click to collapse
No, not really... Because I have panel 1 and I get the same numbers.
Then we'll have to dump more information, back to the source code...
I'm still interested in panel2 information although I expect the results will be the same.
Good luck man. You'll get my help, for sure.
milanche said:
Good luck man. You'll get my help, for sure.
Click to expand...
Click to collapse
Try the attached kernel. It should report a lot of unknown GPIO registers. I'll run the same on my Kaiser and we can compare the results and see if we find anything that is different.
EDIT: New kernel i first post, same as the one I removed here except it dumps 4 more GPIO's
so tell me how to find what panel the Kaiser is using ?
Panel type 2 here, and I got this.
Code:
[ 119,640131] Unknown panel type r0=1, r1=1
mr521427 said:
so tell me how to find what panel the Kaiser is using ?
Click to expand...
Click to collapse
If you are HaRET booting, look in default.txt (or startup.txt if you use that). If you are running NAND you should see it in the filename (unless you are using my custom kernel, then you need to use a hexeditor to see it). You can also see it on a running system if you open a terminal, power off display, power on, run dmesg (scroll up if necessary) and look for "mddi0_panel_power". It should tell you what type you are using.
Dukenukemx said:
Panel type 2 here, and I got this.
Code:
[ 119,640131] Unknown panel type r0=1, r1=1
Click to expand...
Click to collapse
Good, then at least we know for sure that those GPIO ports are useless for this purpose. If you are HaRET booting, please try the other zImage I posted. On mine Kaiser I got all zeros with it.
New zImage and NBH's in first post.
Thankssssssssss
Now works First one KAISIMG-PANEL1-320-TILT0-ECLAIR
Panel 1 KAISIMG-PANEL1-320-TILT0-ECLAIR
Works perfect for me thanks aloooooooot
With new NBH I got this. Kaiser Panel Type 2 btw.
Code:
GPIO 22:0
GPIO 24:0
GPIO 47:0
GPIO 48:0
GPIO 50:0
GPIO 57:000
GPIO 64:1111
GPIO 72:000000
GPIO 79:00
GPIO 95:00
That's a lot of GPIO's.
Dukenukemx said:
With new NBH I got this. Kaiser Panel Type 2 btw.
Code:
GPIO 22:0
GPIO 24:0
GPIO 47:0
GPIO 48:0
GPIO 50:0
GPIO 57:000
GPIO 64:1111
GPIO 72:000000
GPIO 79:00
GPIO 95:00
That's a lot of GPIO's.
Click to expand...
Click to collapse
Sadly I get exactly the same with panel1 so we're out of luck so far.
Panel 3 here:
Code:
[ 648.598655] mddi0_panel_power(1) type=3
[ 648.598801] GPIO 22:0
[ 648.598855] GPIO 24:0
[ 648.598900] GPIO 47:0
[ 648.598943] GPIO 48:0
[ 648.598983] GPIO 50:0
[ 648.599016] GPIO 57:000
[ 648.599106] GPIO 64:1110
[ 648.599216] GPIO 72:000000
[ 648.599348] GPIO 79:00
[ 648.599426] GPIO 95:00
How do the Vogue guys do it? I'm thinking it's probably the same.
Dukenukemx said:
How do the Vogue guys do it? I'm thinking it's probably the same.
Click to expand...
Click to collapse
They check GPIO 66 and 67 but I we all seems to get 1 on those, except for some reason milanche's last values where they are 1 and 0. That was kind of unexpected as the previous results from the same phone was 1 and 1.
milanche said:
Panel 3 here:
Code:
[ 648.599106] GPIO 64:1110[/QUOTE]
Actually the last two digits here are GPIO 66 and 67 which is exactly what Vogue uses to check this but that was what I checked with the first version of the kernel and that time you got 1 and 1 so it seems those values can vary from time to time.
Click to expand...
Click to collapse

[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

Porting open-nfc on the galaxy nexus (searching for GPIO and i2c driver)

Hi everyone,
I'm trying to port open-nfc 4.4.2 on the galaxy nexus.
I'm following the instructions of the porting guide bundled with open nfc for Android (MAN_NFC_1205-326), but i'm stuck at the step 2.9.3.2.
Here is the step :
e) open_nfc_custom.c
This file must be changed if OpenNFC is implemented in a real NFC device.
After doing the above step (c), you will find a template file open_nfc_custom.c under “<ANDROID_ROOT>/kernel/nfc”. This file must be modified according to the real Android NFC device/testing board.
The main adaptation consists in :
- definition of the 2 GPIOs (IRQOUT, and RST/WakeUP), and their initialization.
- the name of the I2C driver available for MicroRead ("MicroRead" in this example ).
Typically 4 lines should be modified according to the real Android NFC device/testing board: - Platform IRQ Number used with IRQOUT, if not dynamically allocated
- GPIO_NFC_IRQOUT definition (IRQOUT pin of MicroRead)
- GPIO_NFC_WAKEUP definition (RESETWAKE_UP pin of MicroRead)
- "struct i2c_device_id" line for I2C Slave definition for MicroRead and the initialization of the I2C bus (i2c_get_adapter, ...).
Click to expand...
Click to collapse
I don't know where to get those values for the galaxy nexus (the 2 GPIOs and the i2c driver), does anyone know where i can find it?
Thank you.
Ramwii said:
Hi everyone,
I'm trying to port open-nfc 4.4.2 on the galaxy nexus.
I'm following the instructions of the porting guide bundled with open nfc for Android (MAN_NFC_1205-326), but i'm stuck at the step 2.9.3.2.
Here is the step :
I don't know where to get those values for the galaxy nexus (the 2 GPIOs and the i2c driver), does anyone know where i can find it?
Thank you.
Click to expand...
Click to collapse
I've found the name of the i2c driver in the include linux/nfc/pn544.h .
#define PN544_DRIVER_NAME "pn544"
Click to expand...
Click to collapse
I'm still looking for the other values.
Hi! Ramwii
I too are compiling Open-NFC for android, you are compile a funtional ROM for your device?
Sorry my bad English
Have you found the necessary information yet? I'm currently stuck at the same problem :/

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.

[Q&A] Smartwatch 2 firmware hacking

Q&A for Smartwatch 2 firmware hacking
Some developers prefer that questions remain separate from their main development thread to help keep things organized. Placing your question within this thread will increase its chances of being answered by a member of the community or by the developer.
Before posting, please use the forum search and read through the discussion thread for Smartwatch 2 firmware hacking. If you can't find an answer, post it here, being sure to give as much information as possible (firmware version, steps to reproduce, logcat if available) so that you can get help.
Thanks for understanding and for helping to keep XDA neat and tidy!
Hello everyone!
SW2 went into a state of brick.
issue:
The night was updated and hiking battery case has turned off, because the next morning found that the watch off when he saw the inscription included Sony, and the firmware version in the left corner.
Launched dfu-util flashed section of the Internal * .dfu
After that, the clock does not start, just a black screen.
After trying different dumps, bins from a sw2, extracted from custom * .apk files bl.bin and asw.bin
To update the internal address - 0x08000000 for eMMC - 0x00000000.
Everything goes well and without errors, shows a black screen continuously in DFU mode
The question is, do they really bring their condition brick, if you still so, how ???
Help who than can ... dumps, bins, address firmware =)
The conclusion of the process of the firmware:
C:\MinGW\bin>dfu-util -c 1 -i 0 -a 0 -D 1.dfu
dfu-util 0.7
Copyright 2005-2008 Weston Schmidt, Harald Welte and OpenMoko Inc.
Copyright 2010-2012 Tormod Volden and Stefan Schmidt
This program is Free Software and has ABSOLUTELY NO WARRANTY
Please report bugs to [email protected]
Opening DFU capable USB device... ID 0fce:f0fa
Run-time device DFU version 011a
Found DFU: [0fce:f0fa] devnum=0, cfg=1, intf=0, alt=0, name="@Internal Flash /
0x08000000/03*016Kg,01*016Kg,01*064Kg,07*128Kg,03*016Kg,01*016Kg,01*064Kg,07*128
Kg"
Claiming USB DFU Interface...
Setting Alternate Setting #0 ...
Determining device status: state = dfuUPLOAD-IDLE, status = 0
aborting previous incomplete transfer
Determining device status: state = dfuIDLE, status = 0
dfuIDLE, continuing
DFU mode device DFU version 011a
Device returned transfer size 2048
Dfu suffix version 11a
DfuSe interface name: "Internal Flash "
file contains 1 DFU images
parsing DFU image 1
image for alternate setting 0, (5 elements, total size = 858340)
parsing element 1, address = 0x0800c000, size = 24320
............
parsing element 2, address = 0x08020000, size = 111992
.......................................................
parsing element 3, address = 0x0803fffc, size = 392
.
parsing element 4, address = 0x08040200, size = 721592
................................................................................
................................................................................
................................................................................
................................................................................
.................................
parsing element 5, address = 0x080ffffc, size = 4
.
done parsing DfuSe file
*sorry for my English
Brick?
ok guys, i buy yesterday sw2 and i try update today by my xperia Z2. after this watch has stuck on update screen. i try reflash few times by dfu util but still nothing. someone on this forum attach the file original.dfu but dfu utili cant flash and give me error Only Dfsus file version 1.1a is supported. so at this moment ive got black screen but still computer see dfu usb when i plug watch to computer. can someone help me to reflash to stock or custom doesnt matter but i need to live this watch. im spend 60 Pound for this watch and now dead... Sorry for my bad english I am polish

Categories

Resources