Latest microdia git and 2.6.27-rc5

28 views
Skip to first unread message

Dmitry Nezhevenko

unread,
Sep 6, 2008, 6:48:44 AM9/6/08
to micr...@googlegroups.com
I've just tried to compile latest microdia git for 2.6.27-rc5 kernel, that
contains several major fixes for my laptop. Kernel config was same as for
2.6.26 one.

Here is what I get:

/tmp/microdia/microdia-v4l.c:44:1: warning: "V4L2_CID_SHARPNESS" redefined
In file included from include/media/v4l2-dev.h:19,
from include/media/v4l2-common.h:29,
from /tmp/microdia/microdia-v4l.c:37:
include/linux/videodev2.h:866:1: warning: this is the location of the previous definition
/tmp/microdia/microdia-v4l.c:533: error: variable ‘microdia_vm_ops’ has initializer but incomplete type
/tmp/microdia/microdia-v4l.c:534: error: unknown field ‘open’ specified in initializer
/tmp/microdia/microdia-v4l.c:534: warning: excess elements in struct initializer
/tmp/microdia/microdia-v4l.c:534: warning: (near initialization for ‘microdia_vm_ops’)
/tmp/microdia/microdia-v4l.c:535: error: unknown field ‘close’ specified in initializer
/tmp/microdia/microdia-v4l.c:536: warning: excess elements in struct initializer
/tmp/microdia/microdia-v4l.c:536: warning: (near initialization for ‘microdia_vm_ops’)
/tmp/microdia/microdia-v4l.c: In function ‘v4l_microdia_mmap’:
/tmp/microdia/microdia-v4l.c:580: error: ‘VM_IO’ undeclared (first use in this function)
/tmp/microdia/microdia-v4l.c:580: error: (Each undeclared identifier is reported only once

Do I miss something?

--
WBR, Dmitry

signature.asc

GeH

unread,
Sep 14, 2008, 4:59:56 AM9/14/08
to microdia
I've tried to compile it for 2.6.27-rc6 kernel, and got the same
errors.
I was able to reduce them by modifying includes in microdia.h file :

diff microdia/microdia.h microdia.MODIF/microdia.h
31c31,34
< #include <media/v4l2-common.h>
---
> #include <linux/mm.h>
> //#include <media/v4l2-common.h>
> #include <linux/videodev.h>
> #include <media/v4l2-ioctl.h>

But, I'm stuck at this point :

/home/ge/hardware/microdia/microdia/microdia.MODIF/microdia-v4l.c:
44:1: attention : « V4L2_CID_SHARPNESS » redéfini
Dans le fichier inclus à partir de include/media/v4l2-dev.h:19,
à partir de include/media/v4l2-common.h:29,
à partir de /home/ge/hardware/microdia/microdia/
microdia.MODIF/microdia-v4l.c:37:
include/linux/videodev2.h:868:1: attention : ceci est la localisation
d'une précédente définition
/home/ge/hardware/microdia/microdia/microdia.MODIF/microdia-v4l.c: In
function ‘v4l_microdia_register_video_device’:
/home/ge/hardware/microdia/microdia/microdia.MODIF/microdia-v4l.c:
1161: erreur: incompatible types in assignment
/home/ge/hardware/microdia/microdia/microdia.MODIF/microdia-v4l.c:
1162: erreur: ‘struct video_device’ has no member named ‘owner’
/home/ge/hardware/microdia/microdia/microdia.MODIF/microdia-v4l.c:
1163: erreur: ‘struct video_device’ has no member named ‘type’
/home/ge/hardware/microdia/microdia/microdia.MODIF/microdia-v4l.c:
1176: erreur: ‘struct video_device’ has no member named
‘vidioc_querycap’
/home/ge/hardware/microdia/microdia/microdia.MODIF/microdia-v4l.c:
1177: erreur: ‘struct video_device’ has no member named
‘vidioc_enum_fmt_cap’
/home/ge/hardware/microdia/microdia/microdia.MODIF/microdia-v4l.c:
1178: erreur: ‘struct video_device’ has no member named
‘vidioc_try_fmt_cap’
/home/ge/hardware/microdia/microdia/microdia.MODIF/microdia-v4l.c:
1179: erreur: ‘struct video_device’ has no member named
‘vidioc_s_fmt_cap’
/home/ge/hardware/microdia/microdia/microdia.MODIF/microdia-v4l.c:
1180: erreur: ‘struct video_device’ has no member named
‘vidioc_g_fmt_cap’
/home/ge/hardware/microdia/microdia/microdia.MODIF/microdia-v4l.c:
1181: erreur: ‘struct video_device’ has no member named
‘vidioc_enum_input’
/home/ge/hardware/microdia/microdia/microdia.MODIF/microdia-v4l.c:
1182: erreur: ‘struct video_device’ has no member named
‘vidioc_g_input’
/home/ge/hardware/microdia/microdia/microdia.MODIF/microdia-v4l.c:
1183: erreur: ‘struct video_device’ has no member named
‘vidioc_s_input’
/home/ge/hardware/microdia/microdia/microdia.MODIF/microdia-v4l.c:
1184: erreur: ‘struct video_device’ has no member named
‘vidioc_streamon’
/home/ge/hardware/microdia/microdia/microdia.MODIF/microdia-v4l.c:
1185: erreur: ‘struct video_device’ has no member named
‘vidioc_streamoff’
/home/ge/hardware/microdia/microdia/microdia.MODIF/microdia-v4l.c:
1186: erreur: ‘struct video_device’ has no member named
‘vidioc_queryctrl’
/home/ge/hardware/microdia/microdia/microdia.MODIF/microdia-v4l.c:
1187: erreur: ‘struct video_device’ has no member named
‘vidioc_g_ctrl’
/home/ge/hardware/microdia/microdia/microdia.MODIF/microdia-v4l.c:
1188: erreur: ‘struct video_device’ has no member named
‘vidioc_s_ctrl’
/home/ge/hardware/microdia/microdia/microdia.MODIF/microdia-v4l.c:
1189: erreur: ‘struct video_device’ has no member named
‘vidioc_g_parm’
/home/ge/hardware/microdia/microdia/microdia.MODIF/microdia-v4l.c:
1190: erreur: ‘struct video_device’ has no member named
‘vidioc_s_parm’
/home/ge/hardware/microdia/microdia/microdia.MODIF/microdia-v4l.c:
1191: erreur: ‘struct video_device’ has no member named
‘vidioc_reqbufs’
/home/ge/hardware/microdia/microdia/microdia.MODIF/microdia-v4l.c:
1192: erreur: ‘struct video_device’ has no member named ‘vidioc_qbuf’
/home/ge/hardware/microdia/microdia/microdia.MODIF/microdia-v4l.c:
1193: erreur: ‘struct video_device’ has no member named ‘vidioc_dqbuf’
/home/ge/hardware/microdia/microdia/microdia.MODIF/microdia-v4l.c:
1194: erreur: ‘struct video_device’ has no member named
‘vidioc_querybuf’

It seems that, either the struct video_device from 2.6.27 kernel is
not compatible with previous versions, or my kernel config is
incorrect (I use the kernel-2.6.27-rc6 provided by mandriva cooker).
Has someone some advice ?

Gérald

Ni-62 metal

unread,
Sep 14, 2008, 3:25:28 PM9/14/08
to micr...@googlegroups.com
On Sun, Sep 14, 2008 at 8:59 AM, GeH <g...@noos.fr> wrote:
>
> I've tried to compile it for 2.6.27-rc6 kernel, and got the same
> errors.
> I was able to reduce them by modifying includes in microdia.h file :
>
snip

>
> It seems that, either the struct video_device from 2.6.27 kernel is
> not compatible with previous versions, or my kernel config is
> incorrect (I use the kernel-2.6.27-rc6 provided by mandriva cooker).
> Has someone some advice ?
>
> Gérald
>

On Sat, Sep 6, 2008 at 10:48 AM, Dmitry Nezhevenko <di...@inhex.net> wrote:
> I've just tried to compile latest microdia git for 2.6.27-rc5 kernel, that
> contains several major fixes for my laptop. Kernel config was same as for
> 2.6.26 one.

snip


> Do I miss something?
>
> --
> WBR, Dmitry


Hello Dmitry, Gérald

Sorry we couldn't get back to you earlier, had to get a hold of Linux
2.6.27 kernel first,
I tried out Ubuntu 8.10, Intrepid Ibex, x86_64.
Alpha 5 release to get this driver working completely

I am attaching a copy of just the driver, it has the following features
- compiles cleanly on Linux ubuntu 2.6.27-2-generic #1 SMP Thu Aug 28
17:18:43 UTC 2008 x86_64 GNU/Linux
- sysfs is removed (sorry I just didn't feel like fixing sysfs errors)
- removes hardware resolution switching patch from the HEAD branch (
skype ekiga amsn cheese all V4L2 apps work correctly with this build )
- will NOT compile on kernels < 2.6.27 (haven't had time to put "IF
kernel version < " et al)

Can we work towards a release build for inclusion in the latest distros
- Ubuntu 8.10, Intrepid Ibex
- Fedora 10/11?
- Suse ?
This is as per this groups original plans listed on this page
http://groups.google.com/group/microdia/web/the-plan

We have an option of either using DKMS or NOT using DKMS
We can use Ubuntu Build Service(debs), & suse's build service(rpms)

Also I haven't had much luck tracking the skype issues with decoding algorithms,
Someone can help me get RAW stream (not frames) from the driver easily?
Can someone more knowledgeable please document the stream format in
the pages section.
(with these two things done, I can probably track down the problem
with hardware resolution switching patch)

Neekhil

**************************************************************************************************

a few issues pending with this particular release are :-

Is this a kernel bug with Ubuntu or just my sloppy programming with
microdia module ?

Linux ubuntu 2.6.27-2-generic #1 SMP Thu Aug 28 17:18:43 UTC 2008
x86_64 GNU/Linux

[20614.654596] microdia: usb_microdia_exit: Microdia USB 2.0 webcam
driver unloaded
[20614.656969] usbcore: deregistering interface driver usb_microdia_driver
[20614.658981] microdia: Microdia USB 2.0 Webcam unplugged
[20614.659045] microdia: Microdia USB 2.0 Webcam releases control of
video device /dev/video0
[20614.659348] ------------[ cut here ]------------
[20614.659355] kernel BUG at /build/buildd/linux-2.6.27/mm/slub.c:2741!
[20614.659361] invalid opcode: 0000 [1] SMP
[20614.659368] CPU 0
[20614.659375] Modules linked in: microdia(-) compat_ioctl32 videodev
v4l1_compat ipv6 af_packet radeon drm binfmt_misc rfcomm l2cap
bluetooth ppdev lp powernow_k8 cpufreq_userspace cpufreq_stats
cpufreq_powersave cpufreq_ondemand freq_table cpufreq_conservative wmi
video output sbs sbshc pci_slot container ac iptable_filter ip_tables
x_tables snd_hda_intel snd_pcm_oss snd_mixer_oss snd_pcm snd_seq_dummy
psmouse serio_raw snd_seq_oss snd_seq_midi snd_rawmidi
snd_seq_midi_event snd_seq snd_timer snd_seq_device parport_pc parport
snd soundcore button k8temp i2c_piix4 snd_page_alloc i2c_core shpchp
pci_hotplug joydev evdev battery squashfs loop ext2 ext3 jbd mbcache
nls_iso8859_1 nls_cp437 vfat fat usb_storage libusual sg sd_mod
crc_t10dif usbhid sr_mod cdrom hid 8139too pata_atiixp pata_acpi
8139cp mii r8169 ata_generic ahci ehci_hcd ohci_hcd libata usbcore
scsi_mod dock thermal processor fan fbcon tileblit font bitblit
softcursor uvesafb cn fuse
[20614.659534] Pid: 17386, comm: rmmod Not tainted 2.6.27-2-generic #1
[20614.659538] RIP: 0010:[<ffffffff802e362a>] [<ffffffff802e362a>]
kfree+0xfa/0x100
[20614.659561] RSP: 0018:ffff8800481f1bf8 EFLAGS: 00010246
[20614.659565] RAX: 0100000000000078 RBX: ffffe20000815300 RCX: ffffffffa054caa0
[20614.659570] RDX: ffffe20000000000 RSI: ffffffff803a5770 RDI: ffffffffa054c9a0
[20614.659574] RBP: ffff8800481f1c28 R08: 0000000000000000 R09: 000000000000387d
[20614.659579] R10: 8000000000000000 R11: 0000000000000001 R12: ffffffff80690a20
[20614.659583] R13: ffffffffa054c9a0 R14: 0000000000000000 R15: ffffffffa054c4e8
[20614.659588] FS: 00007fd7d4ce26e0(0000) GS:ffffffff806ffa80(0000)
knlGS:0000000000000000
[20614.659593] CS: 0010 DS: 0000 ES: 0000 CR0: 000000008005003b
[20614.659597] CR2: 00007fd7d484a080 CR3: 000000001c5b2000 CR4: 00000000000006e0
[20614.659602] DR0: 0000000000000000 DR1: 0000000000000000 DR2: 0000000000000000
[20614.659606] DR3: 0000000000000000 DR6: 00000000ffff0ff0 DR7: 0000000000000400
[20614.659611] Process rmmod (pid: 17386, threadinfo ffff8800481f0000,
task ffff88003723ace0)
[20614.659615] Stack: ffffffffa0516760 ffffffffa054ca98
ffffffff80690a20 ffff880067424058
[20614.659629] 0000000000000000 ffffffffa054c4e8 ffff8800481f1c38
ffffffffa051676e
[20614.659637] ffff8800481f1c48 ffffffffa051601b ffff8800481f1c58
ffffffff8042d64e
[20614.659647] Call Trace:
[20614.659671] [<ffffffffa0516760>] ? video_device_release+0x0/0x10 [videodev]
[20614.659687] [<ffffffffa051676e>] video_device_release+0xe/0x10 [videodev]
[20614.659697] [<ffffffffa051601b>] video_release+0x1b/0x20 [videodev]
[20614.659708] [<ffffffff8042d64e>] device_release+0x1e/0x80
[20614.659716] [<ffffffff803a57c2>] kobject_release+0x52/0xb0
[20614.659725] [<ffffffff803a5770>] ? kobject_release+0x0/0xb0
[20614.659733] [<ffffffff803a6837>] kref_put+0x37/0x70
[20614.659755] [<ffffffffa05296a0>] ? usb_microdia_delete+0x0/0x40 [microdia]
[20614.659762] [<ffffffff803a5677>] kobject_put+0x27/0x60
[20614.659771] [<ffffffff8042cf4a>] put_device+0x1a/0x20
[20614.659778] [<ffffffff8042e1ae>] device_unregister+0x1e/0x30
[20614.659791] [<ffffffffa0516346>] video_unregister_device+0x46/0x70
[videodev]
[20614.659807] [<ffffffffa052a690>]
v4l_microdia_unregister_video_device+0x30/0x60 [microdia]
[20614.659820] [<ffffffffa05296cf>] usb_microdia_delete+0x2f/0x40 [microdia]
[20614.659828] [<ffffffff803a6837>] kref_put+0x37/0x70
[20614.659841] [<ffffffffa0529054>] usb_microdia_disconnect+0x54/0x80
[microdia]
[20614.659885] [<ffffffffa00a0afa>] usb_unbind_interface+0x6a/0x140 [usbcore]
[20614.659899] [<ffffffff80430872>] __device_release_driver+0xa2/0xe0
[20614.659908] [<ffffffff80430988>] driver_detach+0xd8/0xe0
[20614.659920] [<ffffffff8042f8d6>] bus_remove_driver+0x96/0xd0
[20614.659932] [<ffffffff80430f17>] driver_unregister+0x47/0x50
[20614.659962] [<ffffffffa00a088e>] usb_deregister+0xbe/0xe0 [usbcore]
[20614.659980] [<ffffffffa05446a3>] usb_microdia_exit+0x23/0x35 [microdia]
[20614.659988] [<ffffffff8027b1c7>] sys_delete_module+0x1c7/0x2a0
[20614.659995] [<ffffffff803a9300>] ? __up_write+0x10/0x140
[20614.660009] [<ffffffff8021288a>] system_call_fastpath+0x16/0x1b
[20614.660014]
[20614.660016]
[20614.660017] Code: 00 8b 79 10 85 ff 78 bc 8b 51 14 48 8b 01 49 89
44 d5 00 4c 89 29 eb c1 f6 c4 60 74 0e 48 89 df e8 3c 55 fd ff 0f 1f
40 00 eb b9 <0f> 0b eb fe 66 90 55 48 89 e5 e8 37 f0 f2 ff 48 81 ef a8
00 00
[20614.660017] RIP [<ffffffff802e362a>] kfree+0xfa/0x100
[20614.660017] RSP <ffff8800481f1bf8>
[20614.660127] ---[ end trace fa72f1068909e4f9 ]---
[20621.176036] usb 6-7: USB disconnect, address 6

microdia.tar.gz

GWater

unread,
Sep 14, 2008, 5:19:49 PM9/14/08
to micr...@googlegroups.com
Ni-62 metal schrieb:
AFAIK there are already rpms for suse. I'm working on some (inofficial)
fedora rpms.

GWater

GWater

unread,
Sep 15, 2008, 11:12:05 AM9/15/08
to micr...@googlegroups.com
Ni-62 metal schrieb:
2.6.26 already has a warning concerning the V4L_SHARPNESS definition. I
hope we won't be stuck fixing changed kernel stuff while we should
actually develop the driver further. Thanks you already started the upgrade.

GWater

GeH

unread,
Sep 16, 2008, 4:27:39 PM9/16/08
to microdia
Hello Neekhil,

thank you for your reply.
Your archive compiles fine, but doesn't work : it does not create any
device.
And, after insmod, my webcam ( 0c45:624f ) disapears from lsusb
output.
Syslog output :

Sep 16 21:32:20 gedoc03 kernel: Linux video capture interface: v2.00
Sep 16 21:32:22 gedoc03 kernel: microdia: Microdia USB 2.0 webcam
driver loaded
Sep 16 21:32:22 gedoc03 kernel: usbcore: registered new interface
driver usb_microdia_driver
Sep 16 21:32:22 gedoc03 kernel: microdia: v2008.09 : Microdia USB 2.0
Webcam Driver

I can provide you more information if you need.

Gérald

JoJo jojo

unread,
Sep 17, 2008, 2:52:08 PM9/17/08
to micr...@googlegroups.com
Hi Gerald

2.6.27 is released right ? can it be a problem with -rc5 that you are using ?

Have you tried it with Ubuntu Alpha 5, perhaps we'll make a new patch
this weekend

-JoJo

GWater

unread,
Sep 18, 2008, 3:18:28 PM9/18/08
to micr...@googlegroups.com
JoJo jojo schrieb:
To make it clear to everyone else (I guess jojo already checked):
2.6.27 is not yet released.

GWater

GeH

unread,
Sep 22, 2008, 2:39:10 AM9/22/08
to microdia
Hello,

I upgraded my kernel with latest git available yesterday ( 2.6.27-rc6-
git5 ), and now the driver send by Neekhil works.

Thanks,
Gérald

JoJo jojo

unread,
Sep 22, 2008, 3:04:51 AM9/22/08
to micr...@googlegroups.com
thats great Gérald

can you try with -rc7 released last night ;-)

-JoJo

Reply all
Reply to author
Forward
0 new messages