Microdia driver once working but not anymore.

610 views
Skip to first unread message

Christopher Lemire

unread,
Nov 12, 2010, 11:40:11 PM11/12/10
to micr...@googlegroups.com
-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA1

I once had the microdia driver working with my HD Hue Webcam. I
thought maybe it would work after re-installing Linux. I recently
installed a fresh install of 64-bit Ubuntu 10.10 Maverick. I got the
latest SVN source, compiled no problems, loaded it and followed all
other instructions, and my wireless quits working (it's also plugged
in through USB). No /dev/video0 is created. I try to bring wlan0 back
up and I get

SIOCSIFFLAGS: Operation not possible due to RF-kill

So I then run "rfkill unlock all" as root, but that does not change
anything. Next I check dmesg

[49169.569269] rtl8187: wireless switch is off


[ 2211.960733] sn9c20x: Read register failed 0x1005
[ 2211.960737] sn9c20x: Read register failed 0x1005
[ 2211.960741] sn9c20x: Read register failed 0x1005
[ 2211.960744] sn9c20x: Read register failed 0x1005
[ 2211.960748] sn9c20x: Read register failed 0x1005
[ 2211.960752] sn9c20x: Read register failed 0x1005
[ 2211.960755] sn9c20x: Read register failed 0x1005
[ 2211.960759] sn9c20x: Read register failed 0x1005
[ 2211.960762] sn9c20x: Read register failed 0x1005
[ 2211.960862] sn9c20x: usb_sn9c20x_exit: SN9C20X USB 2.0 webcam driver unloaded
[ 2211.960866] usbcore: deregistering interface driver sn9c20x
[ 2211.960883] sn9c20x: SN9C20X USB 2.0 Webcam unplugged
[ 2211.960896] sn9c20x: SN9C20X USB 2.0 Webcam releases control of
video device /dev/video0
[ 2211.960977] sn9c20x: Read register failed 0x1005
[ 2235.215149] sn9c20x: SN9C20X USB 2.0 Webcam - 0C45:6282 plugged-in.
[ 2235.215164] sn9c20x: Write register failed index = 0x1000
[ 2235.215167] sn9c20x: Bridge Init Error (-108). line 0
[ 2235.215168] sn9c20x: Device Init failed (-108)!
[ 2235.215175] sn9c20x: probe of 1-4:1.0 failed with error -108
[ 2235.215824] usbcore: registered new interface driver sn9c20x
[ 2235.215829] sn9c20x: SN9C20x USB 2.0 Webcam Driver v2009.04 loaded
➜ microdia git:(master)

Each time I do this, I have to unplug the webcam and reboot Linux to
get wifi working again :(

Help please.

- - --
Christopher Lemire <christoph...@gmail.com>
Ubuntu 64 bit Linux Raid Level 0

Gnu Privacy Guard Key Fingerprint = 3E1A 9103 EF3D 4885 6866  E9DE
C69F 18B3 E13B 0909

Web: http://linuxinnovations.blogspot.com
Jabber: recursive...@jabber.org
-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.4.10 (GNU/Linux)
Comment: Use GnuPG with Firefox : http://getfiregpg.org (Version: 0.8)

iEYEARECAAYFAkzeFrMACgkQxp8Ys+E7CQmmzgCeOZdDJL2LNC1bZJKN8fN1F/2i
npEAnj3nqOlde56jeBlAYyQ2kbfX9gAb
=+PW/
-----END PGP SIGNATURE-----

Christopher Lemire

unread,
Nov 12, 2010, 11:47:48 PM11/12/10
to micr...@googlegroups.com

Could there be some usb setting in the bios I need to change? But if
that were the case, then the camera would not work in Windows either
on the same machine right?

Christopher Lemire

unread,
Nov 13, 2010, 3:10:22 AM11/13/10
to micr...@googlegroups.com
On Fri, Nov 12, 2010 at 10:47 PM, Christopher Lemire

I made some more attempts to get the driver working with the HD Hue webcam.

2nd Attempt:

I tried using a short minature usb cable. Immediately after plugging
in the cam, wifi went out. dmesg outputted the following.

t: I/O error, dev sr1, sector 462048
[38407.150033] usb 3-1: new full speed USB device using ohci_hcd and address 2
[38407.707896] usbcore: registered new interface driver cdc_ether
[38407.718428] usb 3-1: bad CDC descriptors
[38407.718455] usbcore: registered new interface driver rndis_host
[38407.743758] usb 3-1: bad CDC descriptors
[38407.743804] usbcore: registered new interface driver rndis_wlan
[53839.680108] ip_tables: (C) 2000-2006 Netfilter Core Team
[67999.776882] usb 3-1: USB disconnect, address 2
[68012.351288] usb 1-3: new high speed USB device using ehci_hcd and address 7
[68012.653050] usb 1-3: USB disconnect, address 7
[68012.824817] Linux video capture interface: v2.00
[68012.836890] gspca: main v2.9.0 registered
[68012.841836] usbcore: registered new interface driver sn9c20x
[68012.841839] sn9c20x: registered
[68012.933481] usbcore: registered new interface driver snd-usb-audio
[68013.011293] usb 1-3: new high speed USB device using ehci_hcd and address 8
[68013.164655] gspca: probing 0c45:6282
[68013.193823] sn9c20x: MT9M111 sensor detected
[68013.193898] input: sn9c20x as
/devices/pci0000:00/0000:00:13.5/usb1/1-3/input/input7
[68013.194005] gspca: video0 created
[68013.194008] gspca: found int in endpoint: 0x83, buffer_len=1, interval=10
[68013.194110] gspca: probing 0c45:6282
[68013.200884] 8:2:1: cannot get freq at ep 0x84
[68013.508122] 8:2:1: cannot get freq at ep 0x84
[68013.543629] 8:2:1: cannot get freq at ep 0x84
[68014.143512] usb 1-3: USB disconnect, address 8
[68014.151520] gspca: video0 disconnect
[68014.161295] cannot submit datapipe for urb 0, error -19: no device
[68014.191399] gspca: video0 released
[68014.470030] usb 1-3: new high speed USB device using ehci_hcd and address 9
[68014.656286] usb 1-3: device descriptor read/all, error -71
[68014.780039] usb 1-3: new high speed USB device using ehci_hcd and address 10
[68014.934381] gspca: probing 0c45:6282
[68014.964058] sn9c20x: MT9M111 sensor detected
[68014.964128] input: sn9c20x as
/devices/pci0000:00/0000:00:13.5/usb1/1-3/input/input8
[68014.964240] gspca: video0 created
[68014.964243] gspca: found int in endpoint: 0x83, buffer_len=1, interval=10
[68014.967425] ehci_hcd 0000:00:13.5: force halt; handshake
ffffc90000658024 00004000 00000000 -> -110
[68014.967428] gspca: submit URB failed with error -110
[68014.967530] gspca: probing 0c45:6282
[68014.967603] 10:2:1: cannot set freq 16000 to ep 0x84
[68014.967936] hub 1-0:1.0: hub_port_status failed (err = -108)
[68015.032768] 10:2:1: usb_set_interface failed
[68015.032793] 10:2:1: usb_set_interface failed
[68015.032823] 10:2:1: usb_set_interface failed
</SNIP> (Repeated about 100 times)

[68015.153938] 10:2:1: usb_set_interface failed
[68016.021289] rtl8187: wireless radio switch turned off
[68016.121313] wlan0: deauthenticating from 00:0a:06:ff:a7:23 by local
choice (reason=3)
[68016.212590] cfg80211: All devices are disconnected, going to
restore regulatory settings
[68016.212596] cfg80211: Restoring regulatory settings
[68016.212599] cfg80211: Calling CRDA to update world regulatory domain
[68016.356230] cfg80211: World regulatory domain updated:
[68016.356234] (start_freq - end_freq @ bandwidth),
(max_antenna_gain, max_eirp)
[68016.356237] (2402000 KHz - 2472000 KHz @ 40000 KHz), (300 mBi, 2000 mBm)
[68016.356240] (2457000 KHz - 2482000 KHz @ 20000 KHz), (300 mBi, 2000 mBm)
[68016.356242] (2474000 KHz - 2494000 KHz @ 20000 KHz), (300 mBi, 2000 mBm)
[68016.356245] (5170000 KHz - 5250000 KHz @ 40000 KHz), (300 mBi, 2000 mBm)
[68016.356247] (5735000 KHz - 5835000 KHz @ 40000 KHz), (300 mBi, 2000 mBm)
[68017.316673] r8169 0000:02:00.0: eth0: link down
[68017.317582] ADDRCONF(NETDEV_UP): eth0: link is not ready
➜ ~

Next attempt:

I blacklisted gspca_sn9c20x and rebooted.

My 64-bit system does not have a compat-ioctl32 module, but it does
have a v4l2-compat-ioctl32, so I modprobed that.

➜ ~ cd Build/MICRODIA/microdia
➜ microdia git:(master) lsusb
Bus 006 Device 003: ID 046d:c52f Logitech, Inc. Wireless Mouse M305
Bus 006 Device 002: ID 045e:00dd Microsoft Corp. Comfort Curve
Keyboard 2000 V1.0
Bus 006 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 004 Device 001: ID 1d6b:0001 Linux Foundation 1.1 root hub
Bus 003 Device 001: ID 1d6b:0001 Linux Foundation 1.1 root hub
Bus 002 Device 002: ID 046d:c216 Logitech, Inc. Dual Action Gamepad
Bus 002 Device 001: ID 1d6b:0001 Linux Foundation 1.1 root hub
Bus 001 Device 010: ID 0c45:6282 Microdia PC Camera with Microphone
(SN9C202 + MI1310)
Bus 001 Device 002: ID 0bda:8187 Realtek Semiconductor Corp. RTL8187
Wireless Adapter
Bus 001 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub
➜ microdia git:(master) sudo modprobe videodev
[sudo] password for chris:
➜ microdia git:(master) sudo modprobe v4l2
FATAL: Module v4l2 not found.
➜ microdia git:(master) sudo modprobe v4l2-compat-ioctl32
➜ microdia git:(master) sudo make insmod
➜ microdia git:(master) vim README
➜ microdia git:(master) LD_PRELOAD=/usr/lib/libv4l/v4l2convert.so
mplayer tv:// -tv
driver=v4l2:width=640:height=480:fps=25:device=/dev/video0 -vo xv
Creating config file: /home/chris/.mplayer/config
MPlayer 1.0rc4-4.4.5 (C) 2000-2010 MPlayer Team
mplayer: could not connect to socket
mplayer: No such file or directory
Failed to open LIRC support. You will not be able to use your remote control.

Playing tv://.
TV file format detected.
Selected driver: v4l2
name: Video 4 Linux 2 input
author: Martin Olschewski <olsch...@zpr.uni-koeln.de>
comment: first try, more to come ;-)
v4l2: your device driver does not support VIDIOC_G_STD ioctl,
VIDIOC_G_PARM was used instead.
Selected device: SN9C20x USB 2.0 Webcam Driver
Capabilites: video capture read/write streaming
supported norms:
inputs: 0 = Webcam;v4l2: ioctl get input failed: Invalid argument

Current input: -1
Current format: unknown (0x30323953)
tv.c: norm_from_string(pal): Bogus norm parameter, setting default.
v4l2: ioctl enum norm failed: Invalid argument
Error: Cannot set norm!
Selected input hasn't got a tuner!
v4l2: ioctl set mute failed: Invalid argument
==========================================================================
Opening video decoder: [raw] RAW Uncompressed Video
Movie-Aspect is undefined - no prescaling applied.
VO: [xv] 640x480 => 640x480 Planar YV12
Selected video codec: [rawyv12] vfm: raw (RAW YV12)
==========================================================================
Audio: no sound
Starting playback...
v4l2: select timeout
v4l2: select timeout ??% ??,?% 0 0
v4l2: select timeout ??% ??,?% 0 0
v4l2: select timeout ??% ??,?% 0 0
v4l2: select timeout ??% ??,?% 0 0

http://img5.imagebanana.com/img/g6msym4j/MPlayer_015.png

CPU usage jumped to near 100% on both cores, so I rebooted again.

Is there any other information or debugging output I can provide?

Hans de Goede

unread,
Nov 13, 2010, 5:29:19 AM11/13/10
to micr...@googlegroups.com
Hi,

The gspca_sn9c20x driver is the upstream version of the
old out of tree microdia driver, so you should not blacklist
it. As for plugging it in causing your wifi to go away, this points
to some bigger usb subsystem problems on your machine.

Regards,

Hans

Christopher Lemire

unread,
Nov 13, 2010, 4:31:29 PM11/13/10
to micr...@googlegroups.com
On Sat, Nov 13, 2010 at 4:29 AM, Hans de Goede <j.w.r....@gmail.com> wrote:
> Hi,
>
> The gspca_sn9c20x driver is the upstream version of the
> old out of tree microdia driver, so you should not blacklist
> it. As for plugging it in causing your wifi to go away, this points
> to some bigger usb subsystem problems on your machine.
>
> Regards,
>
> Hans
>

What problems are you talking about? And how can it be solved. If this
is really a hardware limitation, why am I able to use the cam under
Windows 7 x86_64? So what do you suggest as the solution?

Christopher Lemire

unread,
Nov 13, 2010, 4:37:02 PM11/13/10
to micr...@googlegroups.com

Only thing different from these 2 is the software (driver) not
hardware I am using.

http://img576.imageshack.us/img576/3539/capture2o.jpg

http://img5.imagebanana.com/img/g6msym4j/MPlayer_015.png

Brian Johnson

unread,
Nov 14, 2010, 12:24:27 AM11/14/10
to micr...@googlegroups.com
Christopher,

As Hans said the current driver you should be using for your camera is
the gspca_sn9c20x that is included with current kernels. I have a
camera with the same sensor as yours (MT9M111) and it works just fine
out of the box on maverick with the current kernel driver. Please
uninstall the sn9c20x.ko module and use the default gspca_sn9c20x.ko
one instead.

Brian Johnson

On Sat, Nov 13, 2010 at 4:37 PM, Christopher Lemire

> --
> Lets make microdia webcams plug'n play, (currently plug'n pray)
> To post to this group, send email to micr...@googlegroups.com
> Visit us online https://groups.google.com/group/microdia

Reply all
Reply to author
Forward
0 new messages