ADVICE/SUPPORT : UVC Camera on Samsung Galaxy Tab 10.1- No device Node?? - Hardware Hacking General

HI,
I am trying to interface the UVC Camera to the Samsung Galaxy Tab 10.1(GT-7510) , but I am not able to see the device node getting created in the shell( I have installed the Linux terminal Shell Application) and rooted the device using this Video .Can somebody plz tell/advice how I can achieve it and access the device Node or at-least get it created.
Following is the log on dmesg :
usb 1-1 new high speed USB device using tegra-ehci and address 97
hub 1-0:1.0 unable to enumerate USB device on port 1 ,
usb 1-1:device v0ac8 p3420 is not supported
On My Laptop I get this output on Dmesg :
[12307.364237] uvcvideo: Found UVC 1.00 device Venus USB2.0 Camera (0ac8:3420)
[12307.366108] input: Venus USB2.0 Camera as /devices/pci0000:00/0000:00:1d.0/usb2/2-1/2-1.1/2-1.1:1.0/input/input14
[12308.537059] usbcore: registered new interface driver snd-usb-audio
also i can see the camera getting blinked on connection which proves that it is getting the power-supply and getting connected with the system.
I think there is a support for UVC USB devices in the kernel (not sure) otherwise I am ready with the Kernel For Samsung Tab 10.1 (GT-7500 (Higher Version: GT-7510)) from here .(GT-P7500_MEA_Opensource.zip (requires Login).
Plz assist.
Rgds,
Softy

You seem to know a bit about what you're doing. I'm not really familiar with this device. I did a search and did not find anyone who has don't this yet. The first priority is to get a Linux device in /dev/ folder. This is generally handled by a device driver and a udev rule. Try the newer kernel if you can. The android 4.0 ics has a Linux 3.x kernel. See if switching to ics helps. Try compiling a custom kernel with all modules. Once you have a device, try using SSH or sftp from your desktop under Linux to stream from that device with vlc or another media player.
Do you have any examples of this device in use on mobile Linux? It may require writing an entire kernel driver.

HI,
Yes that is the same line of thinking for us as well.We are trying to compile the kernel and load it .- Ongoing
I believe only the zImage is the one which is to be flashed.But I am little scared to do this.Couldn't find the instructions to loading the Zimage even though I can compile one.
Rgds,
Saurabh

softy007 said:
HI,
Yes that is the same line of thinking for us as well.We are trying to compile the kernel and load it .- Ongoing
I believe only the zImage is the one which is to be flashed.But I am little scared to do this.Couldn't find the instructions to loading the Zimage even though I can compile one.
Rgds,
Saurabh
Click to expand...
Click to collapse
Flash it with Heimdall, even if it won't work you will be still able to get into download mode of bootloader (which you aren't supposed to flash) and reflash the kernel with stock one.

Related

Himalaya, familiar and the serial port...

Hi there,
I'm trying to get linux working with XDA2...
At the moment, I use HARET to boot the kernel, but I encounter some problems.
1. USB Serial Connection is breaking when booting the new kernel. I wouldn't have assumed anything different. But the Xda-Developers tutiorials shows how to connect via that virtual port.
2. I can use the real serial port to redirect Kernel Output until it says: "Login:"
I'm using minicom to get the output. But I can't enter the username. I'm sure that I use correct port settings, is there anything special with the connection to the XDA2? Should I use another Application to login? What's wrong with my serial input line?
Can somebody tell me how to use the Serial port via other Terminals? (Linux shell commands are highly appreciated.)
Thanks in advance for some hints!
Edit:
I also tried to compile custom kernel, but after haret switches to the dark screen (after showing the linux logo with splashed eyes ), it isn't redirecting any output to PC.
hi. you should first tell which software versions you are using.
Himalaya kernel is not maintained for a long time, but it's
not very difficult to update it.
Versions I use:
HaRET-0.3.6.exe (http://anymore.nl/ipaq/haret-0.3.6.exe)
zImage-2.6.12 (http://himalaya.lange.nom.fr/zImage-2.6.12)
initrd-2.6.12.gz (initrd-2.6.12.gz)
Hardware:
Processor: Intel PXA263
Model Nr. PH10A
Flash Chip type: 28F128k3

MotoUSB reverse tether w/ linux success

I have successfully used reverse USB tethering on a flipout. This method should be portable to other devices running the motorola android multi-device driver with usb0.
If you are comparing to any windows drivers, say that installed from the driver installer MSI when connecting a flipout and maybe other devices in 'portal' mode, the (windows) driver will be motousbnet. On linux, the driver is cdc_subset. However, this driver does not know how to bind to the motorola
1. Figure out the usb vendor id, product id, and interface class, interface subclass, and interface protocol of the networking interface. On the flipout, this is named the 'motorola networking interface'. On my device, it has these ids: 0x22b8, 0x41da, 0x02, 0x0a, 0x01. You can find these ids via exploring /sys/bus/usb on a linux system, or with the lsusb utility.
2. patch your cdc_subset driver to support the USB id and interface of the above device. You will need to inspect via lsusb or sysfs to setup a 'product' and 'driver info' structure in cdc_subset.c to select the correct interface and endpoints. The pertinent parts of my cdc_subset.c are as follows:
Code:
add to products
{
// Moto flipout usb
USB_DEVICE_AND_INTERFACE_INFO (0x22b8, 0x41da, 0x02, 0x0a, 0x01),
.driver_info = (unsigned long) &motousb_info,
},
add near other driver_infos:
static const struct driver_info motousb_info = {
.description = "Motorola USB endpoint",
.check_connect = always_connected,
.in=0x84, .out=0x03,
};
3. Doing such a mod and compiling yourself a new cdc_subset.ko, and installing that, will yield a usb driver that can talk to usb0 on your flipout. At this point, you just have to configure networking. I setup proxyarp on my LAN and usb0 interfaces, and set up some manual addresses and routes. Other options could be to add usb0 to a bridge, or do routing and DHCP, or routing + nat + DHCP. You'll probably need to netcfg rmnet0 down and setprop net.dns1 and net.rmnet0.dns1 your ips manually. Make sure you save your old dns. I'm not sure if that gets restored from carrier when you turn rmnet back on.
4. after all that, you should be online.
5. EDIT: all compiling and module installation steps noted above happen on the host PC, if that wasn't clear.
Work to follow:
use SL4A to automate usb0 bringup
interface with APNDroid to soft-down the 3g instead of nuking it the hard way. killing the radio process will get you back online, but thats effectively the same as resetting the baseband, so you'll need to re-unlock your SIM etc.
Thanks man! This is awesome. It worked on my Motorola Defy (same parameters) under Ubunutu.
Hi,
I thing this is what i am looking for, enable a motorola device (defy) to be a usb0 device with ubuntu so you can have an IP, and ssh easly with your droid (using vlc remote with usb cable). I realy appreciate this native feature with my old htc.
where is the cdc_subset.c ?
tkx
balek said:
Hi,
I thing this is what i am looking for, enable a motorola device (defy) to be a usb0 device with ubuntu so you can have an IP, and ssh easly with your droid (using vlc remote with usb cable). I realy appreciate this native feature with my old htc.
where is the cdc_subset.c ?
tkx
Click to expand...
Click to collapse
It's in the kernel source. -- You'll have to download the linux or kernel source package that matches the kernel you run on your ubuntu machine, modify your cdc_subset driver, rebuild it, and install it.
Learning things like the kernel build system and how to install a kernel module are exercises for the reader.
Good job! I'll try it once i get my Ubuntu installation up and running again ^_^
Defy and Debian USB network works partially...
Hello. The idea was good...
My config is:
- on one side: a Defy (CM7 1.0-RC1 Nightly build 2037, Gingerbread 2.3.4)
- on the other side: a Linux Debian (Squeeze , kernel 3.0.0-1-686-pae)
I patched the cdc_subset driver as proposed. I saw a little difference on the endpoints: lsusb -v reports 0x83 for 'in' endpoint and 0x2 (bulk) or 0x3 (interrupt) for 'out' endpoint. I tried all combinations and only 0x83/0x2 give a working ping between hosts. => Are the initial endpoints working (0x84/0x3) ?
See attached file for the complete listing, search 'SDX' to see where I patched.
When I plug the USB cable, the usb0 interface is brought up on linux automatically and that's perfect.
With a simple network configuration, ping works on both hosts.
.
So everything seems right.
I then tried to transfer a huge 100MB file to see the performance:
- scp from linux to defy => OK, ~5MB/s
- scp from defy to linux => FAILURE after a few MB transfered
In the second test, the connection is completely frozen and I see errors on both interfaces (ifconfig usb0, error packets). I repeated the test multiple times with alternate network configs, without wifi etc., and I could never transfer the file completely.
Can someone confirm me:
- that the transfer is working for him in both ways with huge files
- what is reported by "lsusb -v -d 22b8:41da" to see if my endpoints for a Defy are correct
I'm not sure, but maybe cdc_subset is not the right driver to patch ?
Or simply it's a bug in scp or sshd on Defy ! I should try with something else like ftp or http...
I keep working on this topic...Thx for any clue !
sdxmob said:
Hello. The idea was good...
My config is:
- on one side: a Defy (CM7 1.0-RC1 Nightly build 2037, Gingerbread 2.3.4)
- on the other side: a Linux Debian (Squeeze , kernel 3.0.0-1-686-pae)
I patched the cdc_subset driver as proposed. I saw a little difference on the endpoints: lsusb -v reports 0x83 for 'in' endpoint and 0x2 (bulk) or 0x3 (interrupt) for 'out' endpoint. I tried all combinations and only 0x83/0x2 give a working ping between hosts. => Are the initial endpoints working (0x84/0x3) ?
See attached file for the complete listing, search 'SDX' to see where I patched.
When I plug the USB cable, the usb0 interface is brought up on linux automatically and that's perfect.
With a simple network configuration, ping works on both hosts.
.
So everything seems right.
I then tried to transfer a huge 100MB file to see the performance:
- scp from linux to defy => OK, ~5MB/s
- scp from defy to linux => FAILURE after a few MB transfered
In the second test, the connection is completely frozen and I see errors on both interfaces (ifconfig usb0, error packets). I repeated the test multiple times with alternate network configs, without wifi etc., and I could never transfer the file completely.
Can someone confirm me:
- that the transfer is working for him in both ways with huge files
- what is reported by "lsusb -v -d 22b8:41da" to see if my endpoints for a Defy are correct
I'm not sure, but maybe cdc_subset is not the right driver to patch ?
Or simply it's a bug in scp or sshd on Defy ! I should try with something else like ftp or http...
I keep working on this topic...Thx for any clue !
Click to expand...
Click to collapse
Any news with defy ?

[Q] Please suggest me on how to compile UVC driver (external usb camera) for my A500

I need to use usb microscope (which use general linux UVC driver on my natty ubuntu) on a500 to capture magnified image for my daily work.
However, I couldn't get it to work in every possible camera app that I could try. (After i plugged in then dmesg, it shows that UVC 1.0 device USB2.0 camera (1871:7670) found.)
After reading on many forum for a week, i have been convinced that I should try compiling my own driver first. It should work fine with default android camera app. The only place I that seems to be able to use external usb camera on their device is advent vega at Modaco.
I also found a good step by step in building UVC driver module for arm based device such as android here. But I have very limited linux knowledge so I couldn't apply it to my need.
Can someone please enlighten me by providing steps for a complete noob, like me to be able to build my own driver?
Information on the UVC driver sources can be found here at linuxtv.org.
I'm currently using richardtrip kernel which can be found here.
I would also be interested in a UVC driver for android!

USB to LAN : Trendnet TUE2-ET100

Hi everybody,
Like video said, I'm noob !
I come from french and surely I'm not the better englishman of france, but I need you and I try to resolv my problem :=)
I have iconia a500, and go with it in holidays.
In my room, only RJ45 for internet, not WiFi... And my lady NEED internet ^^
That's why I try to use this device.
But, when I try to use it... It doesn't works :=/
I've seen that with taboonay it can works but it's rom for 3.2 and I am in 4.03...
Here my configuraiton :
CWM-based Recovery v5.5.0.X(thor2002rorev1.7)
Flexreaper 5.1
I use Trendnet TUE2-ET100 for network adaptator.
Have we one rom who can help me plz ?
I wait your help if it's possible.
Thank you.
Hi,
Nobody can help me ?
It would be probably better to just buy simplest access point out there and use it as a bridge between ethernet cable and wifi . You don't even need router functionality if the tablet will be the only device used. Just buy AP, configure it and just connect the cable to the RJ45 socket and voila.
You will probably need to connect AP to the PC with a cable to configure it but you need to do this only once. You need to configure the wifi name and security (preferably WPA2 PSK).
Hi,
Thank you for you answer !
Can we resolv problem without AP ?
The reason it's that we go to hotel and I bagage is full... xD
With USB analyser software (or application), I can see one information about my LAN adaptator... But it doesn't works when I try to use it.
I don't know if one other kernel can help me or if it's with other custom ROM...
Thank you very much for your help and your solution !
But if we have other possibility it's ok for moi :=)
Merci ;=)
Try the following:
Reboot the tablet (do not connect ethernet adapter yet)
In the terminal emulator display run dmesg (you can dump it with dmesg > /sdcard/dmesg1.txt for comparison)
Connect adapter
Run dmesg again and check for differences at the end (dump it with dmesg > /sdcard/dmesg2.txt and then compare both files).
This will tell if the kernel itself is recognizing the device properly as a networking device. If it doesn't then you need different kernel or kernel module for the current one for this device.
If the device is recognized and the proper kernel module is loaded and still no connectivity then one of the following can be true:
The device doesn't send request to acquire IP from DHCP (dhcp client in the rom not configured to support other devices than the built-in ones).
The device receives the IP, but the routing is not being set so the connection is not set as a default route.
The Android itself doesn't recognize the new interface and apps cannot start the connection using Android API (OS thinks it is offline).
Unfortunatelly I don't know much about how the networking on the application level works in Android and I don't have any USB ethernet adapter to do some tesing myself. I would need to ask some friends if they have one.
Very thanks to your help and sorry for this.
Below results dmesg after plug usb adapter.
Usb 1-1: new high speed usb device number 2 using tegra-ehci
Usb...: new usb device found, idVendor=0b95, idProduct=2,
Usb... : new usb device strings: mfr=1, product=2, serialnumber=3
Usb... : product: ax88772
Usb... : manufacturer: asix elec. Corp.
Usb... : seriaonumber xxxxxx
We can see that android see usb device.
But, when i made <ifconfig>, i can see only the wlan0 interface, no eth0 or other...
Maybe i have to mount it ?
Thanks for your help.
No, you don't mount network devices .
It seems that the tablet is not loading any kernel module for this device. I've done some searching and this device requires usbnet and asix modules to be loaded. I have checked if I have those module in my a500 (running CM9) and I don't have any of them.
I think that you would need to build your own kernel with proper modules to gain support for this adapter.
OMG xD
Build my own kernel
ok ok, let's go, I have already help my father to build house, I can did it !
...
Is it difficult to build kernel ? ^^
Are there any tutoriel for this ? or I need help of xda's members ?
Like other post, thank you for your interest and your help.
Sorry to make you spend time on my case
I'm sorry but my knowledge about compiling kernels is limited to PC Linux. I've never crosscompiled kernels for ARM architecture. It shouldn't be that hard. I think that you will need the Android SDK to do that. Search the dev forum.
I've been thinking about the module itself and you probably don't even need to compile whole kernel. You just need the kernel header files for the kernel you are using and you can probably compile the module alone and then just copy it to device. But you need to ask someone that is more knowledgable in this area than me.
hello, have you managed to build module for ICS or jellybean?
i have the same USB LAN adapter (i'm french too ^^)
Hope to have a positive reply!!!
thanks

Any S7 Edge kernel with Updated Xpad Linux Kernel Driver for the Xbox One Controller?

After looking for a while how to use the newer X1 controller on Android, I came across this thread and this guy says the xpad.c should get replaced by this https://github.com/paroj/xpad
Example for if the page gets removed:
It is possible to use the controller via USB OTG, but your device MUST be rooted and it may be difficult.
First of all check your X1 controller DeviceId, on Windows you can do it through Device Manager: Device Manager -> Xbox Controller -> Properties -> Details -> Hardware Ids
VID should be 0x45e
PID will be either 0x2d1 or 0x2dd
Easy method for older controllers (0x2d1)
If you are running a ROM based on Linux kernel 3.18, then the controller will work out of the box! So you might want to flash a new ROM/Kernel if it's very important to you... This is probably the easiest solution.
Otherwise, You can probably make the controller work with the "USBBT Joystick Center GOLD" application which you can get here. Just follow this Youtube video and it SHOULD work if you're lucky
Hard method for newer controllers (0x2dd)
If the above didn't work or you have the new controller, and you're not shy about recompiling the Android kernel, you can:
A. Download the Android kernel sources for you device (see instructions h-ttps://source.android.com/source/building-kernels.html)
B. In the kernel sources, replace the file xpad.c under /drivers/input/joystick/ with the newest sources from here: h-ttps://github.com/paroj/xpad
C. Rebuild the whole kernel and replace your boot image, or just build xpad as a kernel module and load it using insmod from the adb shell
GOOD LUCK!
Click to expand...
Click to collapse
Anyone who could help me with this? I'm using the latest Jesse Kernel and have no experience building a kernel: http://forum.xda-developers.com/s7-edge/development/kernel-jesse-kernel-s7-edge-t3389528

Categories

Resources