Gentoo Forums
Gentoo Forums
Gentoo Forums
Quick Search: in
[SOLVED] Thinkpad t61 internal usb camera
View unanswered posts
View posts from last 24 hours

 
Reply to topic    Gentoo Forums Forum Index Kernel & Hardware
View previous topic :: View next topic  
Author Message
johnny99
Apprentice
Apprentice


Joined: 24 Oct 2005
Posts: 229
Location: Berkeley, California

PostPosted: Sat Jun 30, 2007 10:15 pm    Post subject: [SOLVED] Thinkpad t61 internal usb camera Reply with quote

Has anyone activated the Thinkpad t61 internal usb camera?

This site http://www.linux-usb.org/ibmcam/ lists several vendor ID's
for Chicony Electronics Co., Ltd., but not the vendor ID of this camera.

lsusb shows
Code:
Bus 002 Device 002: ID 17ef:1004
Device Descriptor:
  bLength                18
  bDescriptorType         1
  bcdUSB               2.00
  bDeviceClass          239 Miscellaneous Device
  bDeviceSubClass         2 Common Class
  bDeviceProtocol         1 Interface Association
  bMaxPacketSize0        64
  idVendor           0x17ef
  idProduct          0x1004
  bcdDevice            3.20
  iManufacturer           2 Chicony Electronics Co., Ltd.
  iProduct                1 Integrated Camera
  iSerial                 3 SN0001
  bNumConfigurations      1
  Configuration Descriptor:
    bLength                 9
    bDescriptorType         2
    wTotalLength          588
    bNumInterfaces          2
    bConfigurationValue     1
    iConfiguration          0
    bmAttributes         0x80
    MaxPower              500mA
    UNRECOGNIZED:  08 0b 00 02 0e 03 00 01
    Interface Descriptor:
      bLength                 9
      bDescriptorType         4
      bInterfaceNumber        0
      bAlternateSetting       0
      bNumEndpoints           1
      bInterfaceClass        14 Video
      bInterfaceSubClass      1 Video Control
      bInterfaceProtocol      0
      iInterface              1 Integrated Camera
      Endpoint Descriptor:
        bLength                 7
        bDescriptorType         5
        bEndpointAddress     0x83  EP 3 IN
        bmAttributes            3
          Transfer Type            Interrupt
          Synch Type               None
          Usage Type               Data
        wMaxPacketSize     0x0010  1x 16 bytes
        bInterval               6
    Interface Descriptor:
      bLength                 9
      bDescriptorType         4
      bInterfaceNumber        1
      bAlternateSetting       0
      bNumEndpoints           0
      bInterfaceClass        14 Video
      bInterfaceSubClass      2 Video Streaming
      bInterfaceProtocol      0
      iInterface              0
    Interface Descriptor:
      bLength                 9
      bDescriptorType         4
      bInterfaceNumber        1
      bAlternateSetting       1
      bNumEndpoints           1
      bInterfaceClass        14 Video
      bInterfaceSubClass      2 Video Streaming
      bInterfaceProtocol      0
      iInterface              0
      Endpoint Descriptor:
        bLength                 7
        bDescriptorType         5
        bEndpointAddress     0x81  EP 1 IN
        bmAttributes            5
          Transfer Type            Isochronous
          Synch Type               Asynchronous
          Usage Type               Data
        wMaxPacketSize     0x0080  1x 128 bytes
        bInterval               1
    Interface Descriptor:
      bLength                 9
      bDescriptorType         4
      bInterfaceNumber        1
      bAlternateSetting       2
      bNumEndpoints           1
      bInterfaceClass        14 Video
      bInterfaceSubClass      2 Video Streaming
      bInterfaceProtocol      0
      iInterface              0
      Endpoint Descriptor:
        bLength                 7
        bDescriptorType         5
        bEndpointAddress     0x81  EP 1 IN
        bmAttributes            5
          Transfer Type            Isochronous
          Synch Type               Asynchronous
          Usage Type               Data
        wMaxPacketSize     0x0100  1x 256 bytes
        bInterval               1
    Interface Descriptor:
      bLength                 9
      bDescriptorType         4
      bInterfaceNumber        1
      bAlternateSetting       3
      bNumEndpoints           1
      bInterfaceClass        14 Video
      bInterfaceSubClass      2 Video Streaming
      bInterfaceProtocol      0
      iInterface              0
      Endpoint Descriptor:
        bLength                 7
        bDescriptorType         5
        bEndpointAddress     0x81  EP 1 IN
        bmAttributes            5
          Transfer Type            Isochronous
          Synch Type               Asynchronous
          Usage Type               Data
        wMaxPacketSize     0x0320  1x 800 bytes
        bInterval               1
    Interface Descriptor:
      bLength                 9
      bDescriptorType         4
      bInterfaceNumber        1
      bAlternateSetting       4
      bNumEndpoints           1
      bInterfaceClass        14 Video
      bInterfaceSubClass      2 Video Streaming
      bInterfaceProtocol      0
      iInterface              0
      Endpoint Descriptor:
        bLength                 7
        bDescriptorType         5
        bEndpointAddress     0x81  EP 1 IN
        bmAttributes            5
          Transfer Type            Isochronous
          Synch Type               Asynchronous
          Usage Type               Data
        wMaxPacketSize     0x0b20  2x 800 bytes
        bInterval               1
    Interface Descriptor:
      bLength                 9
      bDescriptorType         4
      bInterfaceNumber        1
      bAlternateSetting       5
      bNumEndpoints           1
      bInterfaceClass        14 Video
      bInterfaceSubClass      2 Video Streaming
      bInterfaceProtocol      0
      iInterface              0
      Endpoint Descriptor:
        bLength                 7
        bDescriptorType         5
        bEndpointAddress     0x81  EP 1 IN
        bmAttributes            5
          Transfer Type            Isochronous
          Synch Type               Asynchronous
          Usage Type               Data
        wMaxPacketSize     0x1320  3x 800 bytes
        bInterval               1
    Interface Descriptor:
      bLength                 9
      bDescriptorType         4
      bInterfaceNumber        1
      bAlternateSetting       6
      bNumEndpoints           1
      bInterfaceClass        14 Video
      bInterfaceSubClass      2 Video Streaming
      bInterfaceProtocol      0
      iInterface              0
      Endpoint Descriptor:
        bLength                 7
        bDescriptorType         5
        bEndpointAddress     0x81  EP 1 IN
        bmAttributes            5
          Transfer Type            Isochronous
          Synch Type               Asynchronous
          Usage Type               Data
        wMaxPacketSize     0x13e8  3x 1000 bytes
        bInterval               1

eix -I usbutils
Code:
[I] sys-apps/usbutils
     Available versions:  0.71-r1 ~0.72-r4
     Installed versions:  0.71-r1(08:49:32 AM 06/26/2007)
     Homepage:            http://linux-usb.sourceforge.net/
     Description:         USB enumeration utilities


Last edited by johnny99 on Wed Jul 04, 2007 5:37 am; edited 1 time in total
Back to top
View user's profile Send private message
didymos
Advocate
Advocate


Joined: 10 Oct 2005
Posts: 4798
Location: California

PostPosted: Sat Jun 30, 2007 11:12 pm    Post subject: Reply with quote

Different manufacturer, different driver. IBM just rebrands stuff from different manufacturers, and I can't figure out which model of Chicony webcam this corresponds to. The ibmcam driver is for Xirlink-based devices. It is a UVC cam, however, so try the generic media-video/linux-uvc driver.
_________________
Thomas S. Howard
Back to top
View user's profile Send private message
johnny99
Apprentice
Apprentice


Joined: 24 Oct 2005
Posts: 229
Location: Berkeley, California

PostPosted: Tue Jul 03, 2007 7:33 am    Post subject: [SOLVED] Thinkpad t61 internal usb camera Reply with quote

didymos wrote:
Different manufacturer, different driver. IBM just rebrands stuff from different manufacturers, and I can't figure out which model of Chicony webcam this corresponds to. The ibmcam driver is for Xirlink-based devices. It is a UVC cam, however, so try the generic media-video/linux-uvc driver.


Thank you! That driver seems to work.
I installed the media-video/linux-uvc driver and loaded the driver.
emerge linux-uvc
echo 'uvcvideo' >> /etc/modules.autoload.d/kernel-2.6
update-modules
modprobe uvcvideo

Here is more info about the camera.
udevinfo -n /dev/video0 -q all
Code:
P: /class/video4linux/video0
N: v4l/video0
S: video0
E: IN_HOTPLUG=1

udevinfo -a -p /class/video4linux/video0
Code:
Udevinfo starts with the device specified by the devpath and then
walks up the chain of parent devices. It prints for every device
found, all possible attributes in the udev rules key format.
A rule to match, can be composed by the attributes of the device
and the attributes from one single parent device.

  looking at device '/class/video4linux/video0':
    KERNEL=="video0"
    SUBSYSTEM=="video4linux"
    DRIVER==""
    ATTR{name}=="USB Video Class"
    ATTR{dev}=="81:0"

  looking at parent device '/devices/pci0000:00/0000:00:1d.7/usb2/2-5':
    KERNELS=="2-5"
    SUBSYSTEMS=="usb"
    DRIVERS=="usb"
    ATTRS{serial}=="SN0001"
    ATTRS{product}=="Integrated Camera"
    ATTRS{manufacturer}=="Chicony Electronics Co., Ltd."
    ATTRS{maxchild}=="0"
    ATTRS{version}==" 2.00"
    ATTRS{devnum}=="2"
    ATTRS{speed}=="480"
    ATTRS{bMaxPacketSize0}=="64"
    ATTRS{bNumConfigurations}=="1"
    ATTRS{bDeviceProtocol}=="01"
    ATTRS{bDeviceSubClass}=="02"
    ATTRS{bDeviceClass}=="ef"
    ATTRS{bcdDevice}=="0320"
    ATTRS{idProduct}=="1004"
    ATTRS{idVendor}=="17ef"
    ATTRS{bMaxPower}=="500mA"
    ATTRS{bmAttributes}=="80"
    ATTRS{bConfigurationValue}=="1"
    ATTRS{bNumInterfaces}==" 2"
    ATTRS{configuration}==""

  looking at parent device '/devices/pci0000:00/0000:00:1d.7/usb2':
    KERNELS=="usb2"
    SUBSYSTEMS=="usb"
    DRIVERS=="usb"
    ATTRS{serial}=="0000:00:1d.7"
    ATTRS{product}=="EHCI Host Controller"
    ATTRS{manufacturer}=="Linux 2.6.20-gentoo-r8 ehci_hcd"
    ATTRS{maxchild}=="6"
    ATTRS{version}==" 2.00"
    ATTRS{devnum}=="1"
    ATTRS{speed}=="480"
    ATTRS{bMaxPacketSize0}=="64"
    ATTRS{bNumConfigurations}=="1"
    ATTRS{bDeviceProtocol}=="01"
    ATTRS{bDeviceSubClass}=="00"
    ATTRS{bDeviceClass}=="09"
    ATTRS{bcdDevice}=="0206"
    ATTRS{idProduct}=="0000"
    ATTRS{idVendor}=="0000"
    ATTRS{bMaxPower}=="  0mA"
    ATTRS{bmAttributes}=="e0"
    ATTRS{bConfigurationValue}=="1"
    ATTRS{bNumInterfaces}==" 1"
    ATTRS{configuration}==""

  looking at parent device '/devices/pci0000:00/0000:00:1d.7':
    KERNELS=="0000:00:1d.7"
    SUBSYSTEMS=="pci"
    DRIVERS=="ehci_hcd"
    ATTRS{msi_bus}==""
    ATTRS{broken_parity_status}=="0"
    ATTRS{enable}=="1"
    ATTRS{modalias}=="pci:v00008086d00002836sv000017AAsd000020ABbc0Csc03i20"
    ATTRS{local_cpus}=="ffffffff"
    ATTRS{irq}=="11"
    ATTRS{class}=="0x0c0320"
    ATTRS{subsystem_device}=="0x20ab"
    ATTRS{subsystem_vendor}=="0x17aa"
    ATTRS{device}=="0x2836"
    ATTRS{vendor}=="0x8086"

  looking at parent device '/devices/pci0000:00':
    KERNELS=="pci0000:00"
    SUBSYSTEMS==""
    DRIVERS==""


I installed Ekiga, set it to use v4l2, and when I activated the camera the green light turned on and I can see my self. Yay!
I found the advice from http://forums.gentoo.org/viewtopic-t-429502-highlight-v4lconf+dga.html

Now I need to find applications that will work with it.
Apps that haven't worked: webcam, xawtv, gtkam, and mplayer.

But, I asked to get this camera working, and it does.
Marking as solved
Back to top
View user's profile Send private message
Alien_Freak
n00b
n00b


Joined: 28 Sep 2003
Posts: 19

PostPosted: Mon Sep 03, 2007 3:56 am    Post subject: Applications that work with the cam Reply with quote

Ekiga works with this cam.

www.ekiga.org, also known as gnome meeting.

Make sure you used V4L2, and I have a working vid cam.

though quality is pretty shabby, not sure if it's a linux thing or the camera overall

--
Freak
Back to top
View user's profile Send private message
wbecker
Tux's lil' helper
Tux's lil' helper


Joined: 16 May 2005
Posts: 95
Location: Melbourne, Australia

PostPosted: Fri Nov 02, 2007 4:41 am    Post subject: Reply with quote

I got mplayer working on a thinkpad t61 (i think its the same cam) with this command:

mplayer -tv driver=v4l2:width=320:height=240:device=/dev/video0 -fps 25 tv://

Been working on this for a week! Now to get the fingerprint scanner going...
Back to top
View user's profile Send private message
fivestars
n00b
n00b


Joined: 30 Oct 2007
Posts: 4

PostPosted: Fri Nov 02, 2007 6:00 am    Post subject: Reply with quote

Good post , it is useful to me this time , my friend seems to have the silimar problem.
Back to top
View user's profile Send private message
johnny99
Apprentice
Apprentice


Joined: 24 Oct 2005
Posts: 229
Location: Berkeley, California

PostPosted: Thu Jun 24, 2010 2:49 pm    Post subject: Reply with quote

Update usb camera

ebuild media-video/linux-uvc no longer works with kernel >=2.6.34-gentoo.
The driver uvcvideo.ko appears to be built into the kernel, but I can't get it working.

Kernel Configure change:
Code:
Device Drivers  --->
    Multimedia devices  --->
      [*] Video For Linux  --->
        [*] Video capture adapters  --->
            [*] V4L USB devices  --->
                <M>   USB Video Class (UVC)



place in my autoloading module:
Code:
echo 'uvcvideo' >> /etc/modules.autoload.d/kernel-2.6


dmesg shows:
Code:
usbcore: registered new interface driver uvcvideo
USB Video Class driver (v0.1.0)
hdaps: inverting axis (3) readings.
hdaps: LENOVO ThinkPad T61 detected.
input: hdaps as /devices/platform/hdaps/input/input9
hdaps: driver successfully loaded.



lsmod |grep uvcvideo
Code:
uvcvideo               44263  0
usbcore                93821  11 cdc_acm,moto_modem,usbserial,uvcvideo,usbhid,ohci_hcd,uhci_hcd,usb_storage,usb_libusual,ehci_hcd


lsusb
Code:
Bus 004 Device 001: ID 1d6b:0001 Linux Foundation 1.1 root hub
Bus 006 Device 001: ID 1d6b:0001 Linux Foundation 1.1 root hub
Bus 002 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub
Bus 007 Device 001: ID 1d6b:0001 Linux Foundation 1.1 root hub
Bus 005 Device 001: ID 1d6b:0001 Linux Foundation 1.1 root hub
Bus 001 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub
Bus 003 Device 001: ID 1d6b:0001 Linux Foundation 1.1 root hub


udevadm info --path=/sys/devices/platform/hdaps/input/input9 --query=all
Code:
P: /devices/platform/hdaps/input/input9
E: UDEV_LOG=3
E: DEVPATH=/devices/platform/hdaps/input/input9
E: PRODUCT=10/0/0/0
E: NAME="hdaps"
E: PHYS="isa1600/input0"
E: EV==9
E: ABS==3
E: MODALIAS=input:b0010v0000p0000e0000-e0,3,kra0,1,mlsfw
E: SUBSYSTEM=input


The only thing I can find in /dev is
/dev/input/event9

This doesn't look like the same device as it used to.
Back to top
View user's profile Send private message
johnny99
Apprentice
Apprentice


Joined: 24 Oct 2005
Posts: 229
Location: Berkeley, California

PostPosted: Mon Feb 21, 2011 9:37 pm    Post subject: Reply with quote

I still don't have a solution for 2.6.36 or 2.6.37 kernel.

The uvc project (http://www.ideasonboard.org/uvc/#documentation ) implement Video4Linux 2 (V4L2) API, and "Supported Devices" lists 17ef:1004, and Linux 2.6.26 and newer kernels includes the Linux UVC driver natively, but I still don't having it working. They also say UVC-specific parts of the driver API are documented in the Linux kernel tree starting at version 2.6.38
in Documentation/video4linux/uvcvideo.txt, and the old v4L1 support will be dropped in 3.6.39 kernel.
Back to top
View user's profile Send private message
johnny99
Apprentice
Apprentice


Joined: 24 Oct 2005
Posts: 229
Location: Berkeley, California

PostPosted: Wed Jun 01, 2011 4:27 pm    Post subject: Reply with quote

Found the problem. I removed the bezel shroud around the LCD, to find the board that holds the camera (and connects to the bluetooth card) had a bubbled/fried surface mount chip. The machine is out of warranty, but I found a replacement on line. During one of the trips to the thinkpad repair center, a technician ran the metal bar that operates the latches (to open the laptop), ran the bar over the top of the board, which probably shorted something. When both blutooth and camera died, and I opened the screen, it all made sense.
Back to top
View user's profile Send private message
Display posts from previous:   
Reply to topic    Gentoo Forums Forum Index Kernel & Hardware All times are GMT
Page 1 of 1

 
Jump to:  
You cannot post new topics in this forum
You cannot reply to topics in this forum
You cannot edit your posts in this forum
You cannot delete your posts in this forum
You cannot vote in polls in this forum