theme-sticky-logo-alt

The Cheese is upside down!

7 Comments

I have an integrated camera in my Thinkpad X201 Tablet and even if she works perfectly there is only one issue… image is upside down!

It has been like this since I got the computer in the first place. Back then I was working with Fedora 15, and even with the upgrade to Fedora 17 this week the problem remain the same.

cheese upside down image

First, we need to know what do we have in here, so run a udevadm info –attribute-walk –name=/dev/video0 and the output will tell you which modules you have. This is my output:

[tatica@susan]$ udevadm info –attribute-walk –name=/dev/video0

Udevadm info 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 ‘/devices/pci0000:00/0000:00:1a.0/usb1/1-1/1-1.6/1-1.6:1.0/video4linux/video0’:
KERNEL==”video0″
SUBSYSTEM==”video4linux”
DRIVER==””
ATTR{name}==”Integrated Camera”
ATTR{index}==”0″

looking at parent device ‘/devices/pci0000:00/0000:00:1a.0/usb1/1-1/1-1.6/1-1.6:1.0’:
KERNELS==”1-1.6:1.0″
SUBSYSTEMS==”usb”
DRIVERS==”uvcvideo”
ATTRS{bInterfaceNumber}==”00″
ATTRS{bAlternateSetting}==” 0″
ATTRS{bNumEndpoints}==”01″
ATTRS{bInterfaceClass}==”0e”
ATTRS{bInterfaceSubClass}==”01″
ATTRS{bInterfaceProtocol}==”00″
ATTRS{supports_autosuspend}==”1″
ATTRS{iad_bFirstInterface}==”00″
ATTRS{iad_bInterfaceCount}==”02″
ATTRS{iad_bFunctionClass}==”0e”
ATTRS{iad_bFunctionSubClass}==”03″
ATTRS{iad_bFunctionProtocol}==”00″
ATTRS{interface}==”Integrated Camera”

looking at parent device ‘/devices/pci0000:00/0000:00:1a.0/usb1/1-1/1-1.6’:
KERNELS==”1-1.6″
SUBSYSTEMS==”usb”
DRIVERS==”usb”
ATTRS{configuration}==””
ATTRS{bNumInterfaces}==” 2″
ATTRS{bConfigurationValue}==”1″
ATTRS{bmAttributes}==”80″
ATTRS{bMaxPower}==”200mA”
ATTRS{urbnum}==”254428″
ATTRS{idVendor}==”17ef”
ATTRS{idProduct}==”4816″
ATTRS{bcdDevice}==”2345″
ATTRS{bDeviceClass}==”ef”
ATTRS{bDeviceSubClass}==”02″
ATTRS{bDeviceProtocol}==”01″
ATTRS{bNumConfigurations}==”1″
ATTRS{bMaxPacketSize0}==”64″
ATTRS{speed}==”480″
ATTRS{busnum}==”1″
ATTRS{devnum}==”5″
ATTRS{devpath}==”1.6″
ATTRS{version}==” 2.00″
ATTRS{maxchild}==”0″
ATTRS{quirks}==”0x0″
ATTRS{avoid_reset_quirk}==”0″
ATTRS{authorized}==”1″
ATTRS{manufacturer}==”Chicony Electronics Co., Ltd.”
ATTRS{product}==”Integrated Camera”

looking at parent device ‘/devices/pci0000:00/0000:00:1a.0/usb1/1-1’:
KERNELS==”1-1″
SUBSYSTEMS==”usb”
DRIVERS==”usb”
ATTRS{configuration}==””
ATTRS{bNumInterfaces}==” 1″
ATTRS{bConfigurationValue}==”1″
ATTRS{bmAttributes}==”e0″
ATTRS{bMaxPower}==” 0mA”
ATTRS{urbnum}==”147″
ATTRS{idVendor}==”8087″
ATTRS{idProduct}==”0020″
ATTRS{bcdDevice}==”0000″
ATTRS{bDeviceClass}==”09″
ATTRS{bDeviceSubClass}==”00″
ATTRS{bDeviceProtocol}==”01″
ATTRS{bNumConfigurations}==”1″
ATTRS{bMaxPacketSize0}==”64″
ATTRS{speed}==”480″
ATTRS{busnum}==”1″
ATTRS{devnum}==”2″
ATTRS{devpath}==”1″
ATTRS{version}==” 2.00″
ATTRS{maxchild}==”6″
ATTRS{quirks}==”0x0″
ATTRS{avoid_reset_quirk}==”0″
ATTRS{authorized}==”1″

looking at parent device ‘/devices/pci0000:00/0000:00:1a.0/usb1’:
KERNELS==”usb1″
SUBSYSTEMS==”usb”
DRIVERS==”usb”
ATTRS{configuration}==””
ATTRS{bNumInterfaces}==” 1″
ATTRS{bConfigurationValue}==”1″
ATTRS{bmAttributes}==”e0″
ATTRS{bMaxPower}==” 0mA”
ATTRS{urbnum}==”26″
ATTRS{idVendor}==”1d6b”
ATTRS{idProduct}==”0002″
ATTRS{bcdDevice}==”0303″
ATTRS{bDeviceClass}==”09″
ATTRS{bDeviceSubClass}==”00″
ATTRS{bDeviceProtocol}==”00″
ATTRS{bNumConfigurations}==”1″
ATTRS{bMaxPacketSize0}==”64″
ATTRS{speed}==”480″
ATTRS{busnum}==”1″
ATTRS{devnum}==”1″
ATTRS{devpath}==”0″
ATTRS{version}==” 2.00″
ATTRS{maxchild}==”3″
ATTRS{quirks}==”0x0″
ATTRS{avoid_reset_quirk}==”0″
ATTRS{authorized}==”1″
ATTRS{manufacturer}==”Linux 3.3.7-1.fc17.x86_64 ehci_hcd”
ATTRS{product}==”EHCI Host Controller”
ATTRS{serial}==”0000:00:1a.0″
ATTRS{authorized_default}==”1″

looking at parent device ‘/devices/pci0000:00/0000:00:1a.0’:
KERNELS==”0000:00:1a.0″
SUBSYSTEMS==”pci”
DRIVERS==”ehci_hcd”
ATTRS{vendor}==”0x8086″
ATTRS{device}==”0x3b3c”
ATTRS{subsystem_vendor}==”0x17aa”
ATTRS{subsystem_device}==”0x2163″
ATTRS{class}==”0x0c0320″
ATTRS{irq}==”23″
ATTRS{local_cpus}==”00000000,0000000f”
ATTRS{local_cpulist}==”0-3″
ATTRS{numa_node}==”-1″
ATTRS{dma_mask_bits}==”32″
ATTRS{consistent_dma_mask_bits}==”32″
ATTRS{broken_parity_status}==”0″
ATTRS{msi_bus}==””
ATTRS{companion}==””
ATTRS{uframe_periodic_max}==”100″

looking at parent device ‘/devices/pci0000:00’:
KERNELS==”pci0000:00″
SUBSYSTEMS==””
DRIVERS==””

In my case, I have the uvcvideo module, but sadly, this one doesn’t have the flip option (easiest solution). And even trying with LD_PRELOAD=/usr/lib64/libv4l/v4l2convert.so cheese doesn’t solve the problem.

In this case, the option is use v4l2ucp. v4l2ucp is an universal control panel for all Video for Linux Two (V4L2) devices. This app provides an an easy way to reset one or all the controls of our camera, so lets install it with a simple yum and give it a look:

yum -y install v4l2ucp

v4l2ucp solution

You can see the flip vertical and horizontal options, and if you’re curious like I am, you will be able to play with several configurations to make your webcam look better. :D – Let the upside Down image days be over!!!!


Help tatica and donate with paypal!

Previous Post
Photo booths are FUN!
Next Post
Rotate your monitor!

7 Comments

  • 27 July, 2012 at 17:15
    Bob

    Haven’t read the whole post but have you tried the “Effects” in cheese? there’s a “vertical flip” effect; maybe it is on?!

    Reply
    • 28 July, 2012 at 18:18

      Well Bob, I tried that but flops the image only vertically and not horizontally, so isn’t what i was needing exactly :(

      Reply
  • 4 June, 2012 at 12:32

    Es un feature: Hasta en Ubuntu o en ArchLinux pasa

    Reply
  • 2 June, 2012 at 19:01

    This help me to find an issue with a TV grabber device that I have. Thanks

    Reply
    • 2 June, 2012 at 20:20

      Hey! awesome! do not forget to write the specifications in here so people can find it easier :D

      Reply
  • 2 June, 2012 at 13:06
    Peter Robinson (@nullr0ute)

    The real fix to the problem is to report a kernel bug so they can update the details in the driver to register that the sensor is mounted upside down so it will work for everyone.

    Reply
    • 2 June, 2012 at 16:22

      oh, that job is already done – until then, is a temporary solution :(

      Reply

Leave a Reply

15 49.0138 8.38624 1 0 4000 1 https://tatica.org/en 300 0