List of Touchpanel driver name needed - General Questions and Answers

I have android device with mediatek Soc, I don't have kernel source code it so I have compiled kernel for other MTK6575 device and Managed to get run on my device,I have done following modification to run kernel from other device to my device
1) Fixed partition table issue
2)Fixed LCM driver
3)Fixed keypad driver
Now I need to enable touchpanel driver ,I have also compiled set of touchpanel driver from kernel source but none of worked for me.
So can you give me list of touchpanel drivers used in MTK6575 soc?
I don't have device specification so I need to do it by trial and run method, I have check touchpanel driver name in original running kernel but
didn't find any usefull information
Please help.

Related

[Q] Haipad M701 and fingerprint reader

Hi ,
I have a Haipad M701 with me,
It is having this config:
4G Memory
Telechips 89xx board
Android 2.1-update1
MID-1.1
Kernel 2.6.29
I am trying to make a external USB fingerprint reader work with it.
The fingerprint device driver source was obtained from the vendor.
To enable the device i need to cross compile the fingerprint drivers.
But before i cud do that, i upgraded the firmware to Android 2.3(gingerbread) which is available in haipad.net(*w/o taking a backup*)(that is kernel 2.6.35).
Now, i am not able to cross-compile driver cos i took the kernel source (for 2.6.29) which telechips publicly opened to public.
So, Right now, i need the old Eclair(2.1,2.6.29) firmware, can anyone provide me that?
If not, is there any other way to achieve the cross-compilation?
In the meantime, i downloaded kernel source from android.com and branched to 2.6.35 which is the kernel version on device.
I compile the kernel and then cross compiled the fingerprint driver.
It compiled w/o any issues.
But when do a 'insmod', i get error:
Code:
mod_usbdpfp: version magic '2.6.35.7+ mod_unload modversions ARMv5 ' should be '2.6.35.7-tcc mod_unload ARMv6 '
What could be the issue here?
You have two problems:
First on the tablet, copy the file /proc/config.gz out on your build pc.
Extract and copy file to .config in the 2.3.35.7 source.
Now you are ready to configure the kernel sources that you compile the vendor driver against.
do make menuconfig;
Fix problems:
1: wrong name of kernel.
Insert "-tcc" in general setup --> Local version.
You seem to have a "+" now. I do not know how you got that. If it is not in the kernel config, look in the Makefile in the root folder. The version is in the top. Make sure the 4th version line just says ".7" - no more.
2. Wrong system type.
You are compiling the modules for an Armv5 instead of Armv6. Go to Arm system type and choose Samsun S3C64XX. That is an Armv6.
The selector might look really strange. If that is the case, scroll to the bottom and scroll back up (now names appear one at a time), until you see the ()amsung S3C64XX.
Configure Makefile for crosscompile.
Now do a make dep; make modules.
Now you can compile the vendor driver against this source and get the correct module. Use modinfo modulename.ko; to see that the name and type corresponds to "'2.6.35.7-tcc mod_unload ARMv6".
I have just done this (for an usb net driver), and the resulting driver crashes the tablet So even if you can get a module build and loaded, it might not work because the system architecture (S3C64XX) is not really correct. In that case we really need the telechips 2.6.35.7 sources to build correct module.
But try it out, and good luck!
Thanks for the suggestion, xdamala.
I will try it out today itself and let you know
@xdamala,
I had to do 'make s3c6400_defconfig'
But, Now i get this error.
Code:
mod_usbdpfp: version magic '2.6.35.7-tcc-g67bb0cf-dirty mod_unload
ARMv6 ' should be '2.6.35.7-tcc mod_unload ARMv6 '
I dont know how the 'g67bb0cf-dirty' gets added.
Each time i edit 'include/config/kernel.release' which contained that text, it automatically is updated on running 'make'.
Any idea??
I am not 100% on how the version string is constructed. But I think it is created from the top 4 lines in Makefile and the string you set in configuration.
I should not be necessary to do that s3c6400_defconfig. It is probaly what changes the string. I might have told you the wrong order of things in my other answer. It is important to set up Makefile first.
Do the steps (in order):
Start with clean 2.6.35.7 kernel code
edit Makefile in kernel root folder
Check version number in top
edit cross compile section to:
ARCH ?= arm
CROSS_COMPILE ?= ../../arm-eabi-4.4.3/bin/arm-eabi-
#or whatever fits your compiler. Note that this android tree gcc 4.4.3 is the one running M701 kernel is compiled with, so I prefer to use the same.
extract tablets /proc/config.gz to .config in root of kernel source (to remove unnecessary modules)
make menuconfig;
set -tcc in local version
choose S3C64XX system type
Exit (Save)
make dep ; make clean ; make modules; #Note you do not actually build the kernel, only modules.
In the Makefile from your driver there probably is a section something like this:
KDIR = /lib/modules/$(CURRENT)/build
edit to point to the folder of your kernel source.
make;
transfer fingerprintdriver.ko to tablet
Cross fingers, throw salt over your shoulder, pray, etc. etc.
insmod fingerprintdriver.ko;
@Xdamala
Code:
mod_usbdpfp: version magic '2.6.35.7-tcc+ mod_unload ARMv6 ' should be '2.6.35.7-tcc mod_unload ARMv6 '
Still the plus seems to be issue.
I checked in the main Makefile there is no '+'.
But in include/generated/utsrelease.h, there is
Code:
#define UTS_RELEASE "2.6.35.7-tcc+"
Well I use a kernel from kernel.org, not from the android tree.
Might be the reason for the "+".
I do not think that it makes any difference in this case.
Try with the kernel.org one. If it works it works, if not we might try to look at that "+"
By the way if all fails you can reinstall 2.1 on the tablet and build against the 2.6.29 kernel released by telechips. It should work.
The downside: 2.1 sucks, and usb in general sucks a lot on M701 2.1.
See my posts here:
http://www.androidtablets.net/forum/groups/11-haipad-m701-m701-r-d129-just-ordered-g10-haipad-m701.html.
In that case go to telechips kernel source:
make tcc8900_defconfig
make menuconfig. Exit + save.
make modules.
Then compile your driver against these sources.
Your driver should then work (this time we use the correct system type), but usb is quite bad on 2.1. So if I was you I would try a lot to make 2.3 work first.
Links:
Telechips kernel. Use Internet explorer to download (FF not working):
https://www.telechips.com/technical_support/kor/opensource/opensource_list.asp
Latest 2.1 firmware from Haipad:
http://u.115.com/file/c4rgup4f
xdamala said:
Latest 2.1 firmware from Haipad:
http://u.115.com/file/c4rgup4f
Click to expand...
Click to collapse
Thanks xdamala, thats what i needed, will check it out and let you know of the result tomm.
I will warn you that 2.1 comes with its own problems when it comes to usb.
Attach the device directly. Do not use a hub.
xdamala,
Method 1: Compile kernel source of 2.6.35.7 from kernel.org - Success
insmod driver.ko installed w/o any errors.
But, it seems i would need a power source for the fingerprint reader.
i dont think currently the Haipad support that mode.
Method 2: Flash(downgrade) m701 to 2.1 and try with the public kernel source which telechips have released - Failure
The FWDN program gives CRC check error while loading tcc8900_mtd.img.
Maybe bcos of corrupt download or the Haipad i have is a 4G memory one.
Which u think wud be?
Even if i accomplish providing power to the fingerprint device, i would need the C++ sample provided by the fingerprint vendor to be cross-compiled.
Otherwise, how can i test if the device works?
How to do that??
Hi
I did not see your post because it now came as page 2.
The tablet should provide some level of power to the reader. If you use the white converter cable that came with the tablet, it should tell the tablet to provide power (USB On The Go, see Wikipedia). It works with memory sticks and even hard drives. But I do not know if it is enough for that reader.
With 2.3 firmware you could use a power hub to give power to reader (still use white converter cable between tablet and hub). Do not use hubs on 2.1.
To check if tablet recognizes reader do this:
adb shell:
#dmesg -c
#insmod driver.ko
#dmesg
--Insert reader in usb
#dmesg
The output of dmesg should tell you how the kernel reacts when driver is loaded and reader inserted.
You can cross compile c++ code using same compiler as for the kernel. But you will have to compile program/libs statically, since android does not have the C++ libraries.
You can probably achieve this by putting a static keyword in a Makefile.
Also you need to direct the gcc to point at the cross compiler.
An other approach is to install Debian on the tablet inside an file image. I have done this. It is very nice. It gives you a complete (non graphical) Linux system. Compiler, libs and all. Also lsusb and other useful tools.
It is much easier to make Linux programs work like that.
But this Debian will run inside chroot, and cannot see the android system.
I used this tutorial:
http://www.saurik.com/id/10
However I used a bit different approach for starting up Debian system (using Debian own rc scripts).
If you can make the Debian Image, I will be happy to provide you with my scripts to manage it.
I do not know why you cannot install 2.1. It was the one you got fro my URL?
I just see now that Haipad has released a brand new 2.3 this night.
Do not attempt to load it. Last one did not work unless you had the very new tablet. I will try this new one tonight.
What is this project with the fingerprint reader? Tell me more.
Thanks xdamala,
Ya if it is possible, i would surely like to have a Debian on the pad.
I am just exploring things on it, so that we can have a external device work on the pads.
Let me check this url and will let you know
http://www.saurik.com/id/10
Click to expand...
Click to collapse
Ya, if you can help through the process, i will gladly accept it
Also, i didnt get any cable with my pad.
That was the first of issues. Had to buy it separately.
I had done the dmesg check as you told, but it didnt give any noticeable output.
The 2.1 firmware link that you gave, throwed a CRC error. what to do?
if you get a crc error on firmware it is probably because its the wrong firmware.
There are several different versions of this tablet so it can be a bit tricky.
This firmware is for a M701-R 4GB HY
There is 2 GB and 4GB versions. You have a 4 GB right.
There is HY and non HY versions (type of nand memory).
There a re with and without remote control. That is not so important.
I think any mix of the above is possible.
How to figure out if you have a HY version:
Insert usb to pc and enable usb storage.
If nan memory is shown as 3,08 GB (I think) it is an HY.
If it shows less (2,7 GB Ithink) it is a non-HY.
Determine your version and we can see if we can find a FirmWare for it.
Anyway I think you should keep your 2.3 for now. It just is better for USB.
What is the filename of the rar file with 2.3 rom you installed, and where did you get it from? (this might help me identify your tablet).
About usb cable. I now understand why you have no power on reader. If you read the wikipedia article about USB OTG (wikipedia) you will understand that the tablet is in slave mode and will not provide power and probably not talk to devices.
Also see here: http://www.maxim-ic.com/app-notes/index.mvp/id/1822
Can you get a memory stick to work?
You need something like this:
http://www.amazon.co.uk/Host-Cable-ARCHOS-Internet-Tablet/dp/B004TJC1IM/ref=sr_1_3?ie=UTF8.
It will short the correct pins in the mini usb plug, telling the tablet to be master and provide power.
It is possible to fix a cable yourself but I will not recommend it:
http://www.youtube.com/watch?v=COkLEJGo6vo&feature=youtu.be
I am a bit surprised that loading the driver produces no output in dmesg.
But if the tablet is not in host mode, it is not surprising that no output comes from inserting the reader. The tablet is not responding to it since it is in slave mode (like connection two usb sticks. Nothing happens).
I can not help you through the Debian. I used the tutorial I already linked.
If you do the same and add my scripts you should be able to make it work.
Alternatively you can get my Debian Image, but it is 1 GB file, and I need to clean out personal stuff and passwords.
Hi xdamala,
Ya, it seems to be a non-HY, cause i have around 1.4G space in nand
The file i downloaded was M701_2.3.rar, which i downloaded from haipad.net
I did buy the cable like u showed in amazon.com link, using that only am connecting the reader to pad.
And No, a memory stick also is not getting detected on that cable.
Attached that cable image.
Hi xdamala,
I have started creating the debian image, can you tell how you use the rc scripts?
Also, were you able to find the 2.1 image for M701 non-HY?
PS: I got the clockword mod recovery image from here http://androtab.info/telechips/firmwares
I used the one marked "Haipad M701 GB ROM 4K"
It worked for me.
Hi
Several things:
1: I think you have an 2GB version (non HY), not a 4G version.
2. It seems like the cable you bought is not correct. It has to be a HOST adapter/cable. Since nothing works with it I think what you have is just a male min-usb to female usb. It is not enough.
3. About Debian image. Which version of Debian are you using?
By the way I found out how to get rid of the "+" when using the Android kernel source. Move the folder .git to git. This will break git usage (unless you move it back). But it removes the "+" in version string.
Using Android kernel source might be better than stock kernel source.
Hi again,
1. Its a 2GB?? Oh but when i followed this link (translated it english)
Code:
http://www.inzipad.com/thread-334-1-1.html
My result was 4096, so i thought its a 4G one.
2. Oh. Then i will try to buy then one u have recommended.
3. I have dropped the step of building a Debian, cause i have a android application running and the input from the usb reader has to be sent to that application. So, I have to make it work natively on Android.
xdamala said:
You have two problems:
First on the tablet, copy the file /proc/config.gz out on your build pc.
Extract and copy file to .config in the 2.3.35.7 source.
Now you are ready to configure the kernel sources that you compile the vendor driver against.
do make menuconfig;
Fix problems:
1: wrong name of kernel.
Insert "-tcc" in general setup --> Local version.
You seem to have a "+" now. I do not know how you got that. If it is not in the kernel config, look in the Makefile in the root folder. The version is in the top. Make sure the 4th version line just says ".7" - no more.
2. Wrong system type.
You are compiling the modules for an Armv5 instead of Armv6. Go to Arm system type and choose Samsun S3C64XX. That is an Armv6.
The selector might look really strange. If that is the case, scroll to the bottom and scroll back up (now names appear one at a time), until you see the ()amsung S3C64XX.
Configure Makefile for crosscompile.
Now do a make dep; make modules.
Now you can compile the vendor driver against this source and get the correct module. Use modinfo modulename.ko; to see that the name and type corresponds to "'2.6.35.7-tcc mod_unload ARMv6".
I have just done this (for an usb net driver), and the resulting driver crashes the tablet So even if you can get a module build and loaded, it might not work because the system architecture (S3C64XX) is not really correct. In that case we really need the telechips 2.6.35.7 sources to build correct module.
But try it out, and good luck!
Click to expand...
Click to collapse
Thsi really works thanks for that

Need nt35510 LCM driver for mtk6575

I'm compiling kernel for Mt6575 device it needs lcm driver nt35510 with LCM_TYPE_DPI, I found lcm driver with LCM_TYPE_DPI here https://github.com/luckasfb/lcm_drivers but using this drivers I got blur sceen, I have attached screenshot,so anyone have driver with nt35510+LCM_TYPE_DPI?? Please help.

[Q] Add driver to kernel

Hi,
I'm building a custom rom and everything works great except one driver!
I made a "make menuconfig" in kernel and the driver is not listed under device drivers. How can I add the driver?
I downloaded the Linux driver and successfully made .ko modules. Should I add the .ko module to kernel or the files "as is"?
After some hours of google this problem I found something about "linux-headers packages" insted of kompiling kernel.
"Reasons for NOT compiling a custom kernel - You merely need to compile a special driver. For this, you only need to install the linux-headers packages" - How?
Please help

[Q] Installing USB Ethernet Adapter drivers

I recently got an ASIX AX88179 USB 3.0 to Gigabit Ethernet adapter for my Android device running CyanogenMod based on Android 5.1.1 and the 3.4.* kernel.
The drivers for the device are provided as source code and are available:
http://www.asix.com.tw/FrootAttach/driver/AX88179_178A_LINUX_DRIVER_v1.14.2_SOURCE.tar.gz
ASIX represents that the drivers are "For Android 1.x/2.x/3.x/4.x/5.x, Linux kernel 2.6.25 and later".
I attempted to compile the drivers using the CyanogenMod-included Terminal emulator App, but could not get anything to compile. It seemed that the "make" command or tool is not recognized.
I found a note in the drivers source readme file:
Code:
Prepare to build the driver, you need the Linux kernel sources installed on the
build machine, and make sure that the version of the running kernel must match
the installed kernel sources.
I found kernel sources on https://www.kernel.org/ . How do I make use of the kernel sources?
The version 3.4.* kernel is frequently updated. Should I be recompiling the driver with new, updated kernel sources every time a new kernel version is installed?
Must the drivers be compiled on the system they are to be used on?
Is there a better way to handle driver preparations or acquisitions?

[HELP][DEVICE-TREE] Can I use A Kernel To Make a Device Tree ??

I was trying to build a device tree for my tablet cause I found no rom for it and I stumbled upon the kernel for its processor "OFFICAL OPEN SOURCE" and I thought Is there a way to use it to help me make the Device tree ??

Categories

Resources