Ricerca tra la vecchia roba

Oops

Posted: Dicembre 16th, 2007 | Author: | Filed under: Life, Programmazione | Commenti disabilitati su Oops

Mi sono accattato una webcam da 9.90€ in un attimo di follia prenatalizia (ero partito per prendermi la chiavetta USB che permette il collegamento bluetooth ma l’unieuro è un pacco) con l’idea molto nalsana che se non avesse funzionato avrei potuto (tentare di) scrivermi il driver da me.

webcam del cazzo.

Bene, il driver in realtà esiste in quanto un fisico francese, dopo aver comprato una webcam del cazzo come la mia per i figli, era rimasto deluso del fatto  che non esistessero i driver per il nostro simpatico sistema operativo e quindi ne ha scritto uno che va bene per circa 250 modelli diversi! l’unica pecca è che l’interfaccia del kernel usata è la video4linux prima versione, quindi tipo su skype non va… lo so che è un programma di merda (closed) però mi scazza e quindi sto cercando di usare la parte già scritta dal fisico precedente aggiungendo la parte del mio apparecchio; ovviamente non sono esente da errori e mi sono beccato il mio primo Oops

/usr/src/gspca-20060930/gspcav2/gspcaV2.c: [gspca_probe_camera:2451] Device found with vendor=0x93a product=0x2468
/usr/src/gspca-20060930/gspcav2/Pixart/pixart.h: [gspca_check_pixart:337] .
/usr/src/gspca-20060930/gspcav2/Pixart/pixart.h: USB GSPCA camera found.(PAC207)
/usr/src/gspca-20060930/gspcav2/gspcaV2.c: [gspca_probe:2531] Camera type JPEG
/usr/src/gspca-20060930/gspcav2/Pixart/pixart.h: [set_pac207SIF:260] .
BUG: unable to handle kernel NULL pointer dereference at virtual address 0000008d
 printing eip:
f8fa12f1
*pde = 00000000
Oops: 0000 [#1]
SMP
Modules linked in: gspca usbvideo compat_ioctl32 videodev v4l2_common v4l1_compat rfcomm l2cap bluetooth nls_cp437 vfat fat usb_storage nls_iso8859_1 isofs udf fuse usbmouse ipt_MASQUERADE iptable_nat nf_nat nf_conntrack_ipv4 nf_conntrack nfnetlink ip_tables x_tables i915 drm vboxdrv ppdev lp button ac battery ipv6 dm_snapshot dm_mirror dm_mod cpufreq_powersave cpufreq_conservative cpufreq_userspace cpufreq_ondemand acpi_cpufreq freq_table coretemp w83627ehf i2c_isa eeprom loop snd_hda_intel snd_pcm psmouse snd_timer snd intel_agp rtc_cmos rtc_core rtc_lib soundcore rt61 serio_raw iTCO_wdt parport_pc parport snd_page_alloc firmware_class atl1 tsdev intelfb i2c_i801 mii agpgart i2c_algo_bit i2c_core evdev ext3 jbd mbcache ide_disk sd_mod ide_cd cdrom ata_generic ata_piix libata usbhid hid floppy piix generic ide_core aic7xxx scsi_transport_spi scsi_mod ehci_hcd uhci_hcd usbcore thermal processor fan
CPU:    0
EIP:    0060:[<f8fa12f1>]    Not tainted VLI
EFLAGS: 00210246   (2.6.22-3-686 #1)
EIP is at sonixRegWrite+0x83/0x19b [gspca]
eax: 0000008d   ebx: 00000000   ecx: 00000000   edx: 00000000
esi: f8fb77d4   edi: 00000000   ebp: 00000000   esp: e674bd28
ds: 007b   es: 007b   fs: 00d8  gs: 0033  ss: 0068
Process insmod (pid: 8782, ti=e674a000 task=d8d48a50 task.ti=e674a000)
Stack: df9ea600 00200246 00000000 f88767c7 00000080 00000000 00000000 df9ea600
       00200246 00000000 00410000 00000000 0000008d 00000041 00000000 f8871a46
       e674bd82 dad70000 f8fb77d4 dad70108 f8fad294 f8fa142c 00000041 00000000
Call Trace:
 [<f88767c7>] usb_get_status+0x81/0x8e [usbcore]
 [<f8871a46>] finish_port_resume+0x29/0xac [usbcore]
 [<f8fa142c>] pac207_reg_write+0x23/0x27 [gspca]
 [<f8fa1582>] pac207_config+0x152/0x17b [gspca]
 [<f8fa00e4>] gspca_probe+0x9ff/0xd85 [gspca]
 [<f887688a>] usb_match_one_id+0x1c/0x71 [usbcore]
 [<f88776e9>] usb_probe_interface+0x81/0xb2 [usbcore]
 [<c022cf92>] driver_probe_device+0xe1/0x15f
 [<c02a2ce5>] klist_next+0x4b/0x6c
 [<c022d0a2>] __driver_attach+0x0/0x79
 [<c022d0e8>] __driver_attach+0x46/0x79
 [<c022c555>] bus_for_each_dev+0x37/0x59
 [<c022cdf6>] driver_attach+0x16/0x18
 [<c022d0a2>] __driver_attach+0x0/0x79
 [<c022c839>] bus_add_driver+0x6d/0x16d
 [<f8877234>] usb_register_driver+0x6d/0xd4 [usbcore]
 [<f89e1017>] usb_gspca_init+0x17/0x42 [gspca]
 [<c012db9b>] blocking_notifier_call_chain+0x17/0x1a
 [<c0140748>] sys_init_module+0x161c/0x1755
 [<c016ad65>] __fput+0x126/0x150
 [<c017c20c>] mntput_no_expire+0x11/0x6a
 [<c0103d0e>] sysenter_past_esp+0x6b/0xa1
 =======================
Code: 83 e1 03 74 02 f3 a4 0f b7 44 24 2a 0f b7 7c 24 2c 0f b7 5c 24 28 0f b6 4c 24 2e 89 44 24 34 8b 44 24 30 89 7c 24 38 8b 7c 24 24 <8b> 10 8b 44 24 34 89 7c 24 0c 8b 7c 24 38 c7 44 24 14 e8 03 00
EIP: [<f8fa12f1>] sonixRegWrite+0x83/0x19b [gspca] SS:ESP 0068:e674bd28

Il problema è che rmmod non mi scarica più il modulo e mi tocca riavviare (qualcuno sa come ovviare a questo problema?) 


Comments are closed.