installing usb-server within proxmox (kernel compile/crash)

cobradevil

New Member
Dec 8, 2010
19
0
1
Hello All,

i'm using proxmox for a week or 2 now and am very happy with it.

Now i wanted to share usb devices from my local workstation (for development) with vm's using usb-server from http://www.incentivespro.com/
It works nice with ubuntu 10.10 and 10.04 all i had to do was installing the kernel source and do a make prepare to compile the tusbd module. So i tried the same for the proxmox kernel but without success. I'm not really into programming but when i load the tusbd.ko module i get a kernel oops.

Here are the steps to reproduce:
1. install the header files
2. download the usb-server-x64 package and then the updated kernel module files: wget http://www.incentivespro.com/tusbd2.6.31.zip
3. untar the usb-server package and move into usb-server/modules/src
4. unzip the updated module source and edit the Makefile and point the KERNELDIR to the kernel-header dir /usr/src/linux-headers-2.6.32-4-pve
5. make VHCI=y results in an error about not finding the hcd.h file so first do a normal make and it will compile without problems
6. insmod tusbd.ko no problems
7. Now i want the hcd.h file so i downloaded the kernel source from download.proxmox.com and unpacked the file.
8. i applied the patches copied the Makefile Module.symvers and .config from /lib/modules/2.6.32-4-pve/build and did a make oldconfig then a make prepare and a make modules
9. Then i move back to usb-server/module/src/tusbd2.6.31 and edit the Makefile and point the kerneldir to the sources
10. make VHCI=y and it compiles nicely but when insmodding i get the following oops
Message from syslogd@proxmox-01 at Dec 8 22:08:24 ...
kernel:Oops: 0000 [#1] SMP

Message from syslogd@proxmox-01 at Dec 8 22:08:24 ...
kernel:last sysfs file: /sys/devices/pci0000:00/0000:00:1e.0/0000:01:04.4/usb6/6-2/manufacturer

Message from syslogd@proxmox-01 at Dec 8 22:08:24 ...
kernel:Stack:

Message from syslogd@proxmox-01 at Dec 8 22:08:24 ...
kernel:Call Trace:

Message from syslogd@proxmox-01 at Dec 8 22:08:24 ...
kernel:Code: 10 74 05 e8 5c 9c 22 00 9c 58 0f 1f 44 00 00 49 89 c5 fa 66 0f 1f 44 00 00 65 8b 04 25 a8 e3 00 00 48 98 48 8b 94 c3 f8 02 00 00 <48> 8b 2a 44 8b 7a 18 48 85 ed 74 0d 8b 42 14 48 8b 44 c5 00 48

Message from syslogd@proxmox-01 at Dec 8 22:08:24 ...
kernel:CR2: 0000000000000000


###dmesg output

UG: unable to handle kernel NULL pointer dereference at (null)
IP: [<ffffffff810e9cd6>] kmem_cache_alloc+0x52/0x139
PGD 918d6c067 PUD 918d45067 PMD 0
Oops: 0000 [#1] SMP
last sysfs file: /sys/devices/pci0000:00/0000:00:1e.0/0000:01:04.4/usb6/6-2/manufacturer
CPU 4
Modules linked in: tusbd(+) kvm_intel kvm vzethdev vznetdev simfs vzrst vzcpt vzdquota vzmon vzdev xt_tcpudp xt_length xt_hl xt_tcpmss xt_TCPMSS iptable_mangle iptable_filter xt_multiport xt_limit xt_dscp ipt_REJECT ip_tables x_tables dlm configfs ib_iser rdma_cm ib_cm iw_cm ib_sa ib_mad ib_core ib_addr iscsi_tcp libiscsi_tcp libiscsi scsi_transport_iscsi bridge stp dm_round_robin dm_multipath scsi_dh psmouse hpilo snd_pcm snd_timer ipmi_si ipmi_msghandler container rng_core serio_raw evdev i5k_amb snd soundcore snd_page_alloc pcspkr i5000_edac edac_core button processor shpchp pci_hotplug ext3 jbd mbcache dm_mirror dm_region_hash dm_log dm_snapshot usbhid hid ata_piix ata_generic ehci_hcd uhci_hcd bnx2 qla2xxx scsi_transport_fc libata usbcore nls_base cciss scsi_tgt thermal fan thermal_sys [last unloaded: tusbd]
Pid: 4129, comm: insmod Not tainted 2.6.32-4-pve #1 dzhanibekov ProLiant DL380 G5
RIP: 0010:[<ffffffff810e9cd6>] [<ffffffff810e9cd6>] kmem_cache_alloc+0x52/0x139
RSP: 0018:ffff880914039eb8 EFLAGS: 00010046
RAX: 0000000000000004 RBX: ffffffff814777e0 RCX: 0000000000000001
RDX: 0000000000000000 RSI: 00000000000000d0 RDI: ffffffff814777e0
RBP: ffff880918f754e0 R08: 00000000000000d0 R09: 000000d0810f3cc9
R10: 00000000fffffffc R11: 0000000000000000 R12: 00000000000000d0
R13: 0000000000000246 R14: ffffffffa0428ee8 R15: 0000000000000000
FS: 00007f4ad1b086e0(0000) GS:ffff880028300000(0000) knlGS:0000000000000000
CS: 0010 DS: 0000 ES: 0000 CR0: 000000008005003b
CR2: 0000000000000000 CR3: 000000091406d000 CR4: 00000000000426e0
DR0: 0000000000000000 DR1: 0000000000000000 DR2: 0000000000000000
DR3: 0000000000000000 DR6: 00000000ffff0ff0 DR7: 0000000000000400
Process insmod (pid: 4129, veid=0, threadinfo ffff880914038000, task ffff88092441d000)
Stack:
000000d0201ed478 ffff880918f754e0 ffff880918f754e0 0000000000000000
<0> 00007fff482969f0 0000000000000000 0000000000000000 ffffffffa0428ee8
<0> ffff880918f754e0 ffff880918f754e0 0000000000000000 ffffffffa0424be0
Call Trace:
[<ffffffffa0428ee8>] ? usbd_fifo_create+0x15/0x91 [tusbd]
[<ffffffffa0424be0>] ? usbd_mc_alloc_descriptor+0xa5/0xc1 [tusbd]
[<ffffffffa0430000>] ? usbd_init+0x0/0x61 [tusbd]
[<ffffffffa0430029>] ? usbd_init+0x29/0x61 [tusbd]
[<ffffffff8100a065>] ? do_one_initcall+0x64/0x174
[<ffffffff81083107>] ? sys_init_module+0xc5/0x21a
[<ffffffff81010c12>] ? system_call_fastpath+0x16/0x1b
Code: 10 74 05 e8 5c 9c 22 00 9c 58 0f 1f 44 00 00 49 89 c5 fa 66 0f 1f 44 00 00 65 8b 04 25 a8 e3 00 00 48 98 48 8b 94 c3 f8 02 00 00 <48> 8b 2a 44 8b 7a 18 48 85 ed 74 0d 8b 42 14 48 8b 44 c5 00 48
RIP [<ffffffff810e9cd6>] kmem_cache_alloc+0x52/0x139
RSP <ffff880914039eb8>
CR2: 0000000000000000
---[ end trace 94a4aee2d558d1bc ]---

on my lucid kernel this works like expected so did i forget something?

With kind regards

William
 
Hello dietmar,

Yes i know i'm just curious how the kernel source from proxmox works.

Under debian/ubuntu you can install linux-source and when i compile this module to the 2.6.32 kernel of lucid then it works without an oops. So i guess this is something specific to the proxmox kernel source but i will test that on a test machine.

With kind regards

William
 
Under debian/ubuntu you can install linux-source and when i compile this module to the 2.6.32 kernel of lucid then it works without an oops. So i guess this is something specific to the proxmox kernel source but i will test that on a test machine.

We use the debian kernel with openvz patches as base.
 

About

The Proxmox community has been around for many years and offers help and support for Proxmox VE, Proxmox Backup Server, and Proxmox Mail Gateway.
We think our community is one of the best thanks to people like you!

Get your subscription!

The Proxmox team works very hard to make sure you are running the best software and getting stable updates and security enhancements, as well as quick enterprise support. Tens of thousands of happy customers have a Proxmox subscription. Get yours easily in our online shop.

Buy now!