Bug 143620

Summary: [cdce] [usb8] the module if_cdce doesn't support my Openmoko Neo FreeRunner anymore [regression]
Product: Base System Reporter: Christian Neugum <bsd>
Component: usbAssignee: freebsd-usb (Nobody) <usb>
Status: Open ---    
Severity: Affects Only Me    
Priority: Normal    
Version: Unspecified   
Hardware: Any   
OS: Any   

Description Christian Neugum 2010-02-06 23:40:01 UTC
I've installed FreeBSD 8.0 on my computer and I cannot get my Openmoko Neo FreeRunner working with if_cdce. With FreeBSD 7.2 it worked well.
After loading the if_cdce kernel module I plugged in my FreeRunner but no cdce* device is shown in /dev. I've tried different usb ports and loaded the module at boottime but the result is the same.

How-To-Repeat: $ kldstat
Id Refs Address    Size     Name
 1   18 0xc0400000 612ca4   kernel
 2    1 0xc0a13000 14f10    snd_emu10kx.ko
 3    3 0xc0a28000 55730    sound.ko      
 4    1 0xc0a7e000 7551b4   nvidia.ko     
 5    2 0xc11d4000 2c8d4    linux.ko      
$ sudo kldload if_cdce
$ kldstat
Id Refs Address    Size     Name
 1   26 0xc0400000 612ca4   kernel
 2    1 0xc0a13000 14f10    snd_emu10kx.ko
 3    3 0xc0a28000 55730    sound.ko      
 4    1 0xc0a7e000 7551b4   nvidia.ko     
 5    2 0xc11d4000 2c8d4    linux.ko      
 6    1 0xc8b9b000 6000     if_cdce.ko    
 7    1 0xc7108000 3000     uether.ko
<<<--- plugged in my FreeRuner
$ dmesg
[...]
ugen1.2: <Linux 2.6.29-GTA02_qtmoko-v14-mokodev with s3c241> at usbus1
$ ls /dev | grep c
acd0
acd1
acpi
console
consolectl
ctty
devctl
geom.ctl
mdctl
nfslock
nvidiactl
pci
ttyvc
usbctl
Comment 1 Hans Petter Selasky 2010-02-07 08:13:34 UTC
You need to execute, due to the way the Linux guys designed it. Alternativly 
you can add a quirk to the quirks table to do this automatically.

usbconfig -u 1 a 2 set_config 1

--HPS
Comment 2 Mark Linimon freebsd_committer freebsd_triage 2010-02-08 06:23:16 UTC
State Changed
From-To: open->feedback

To submitter: does the workaround fix your problem?
Comment 3 Christian Neugum 2010-02-10 15:46:55 UTC
On 02/07/10 09:13, Hans Petter Selasky wrote:
> On Sunday 07 February 2010 00:38:31 Christian Neugum wrote:
>>> Number:         143620
>>> Category:       usb
>>> Synopsis:       the module if_cdce doesn't support my Openmoko Neo
>>> FreeRunner anymore Confidential:   no
>>> Severity:       non-critical
>>> Priority:       medium
>>> Responsible:    freebsd-usb
>>> State:          open
>>> Quarter:
>>> Keywords:
>>> Date-Required:
>>> Class:          sw-bug
>>> Submitter-Id:   current-users
>>> Arrival-Date:   Sat Feb 06 23:40:01 UTC 2010
>>> Closed-Date:
>>> Last-Modified:
>>> Originator:     Christian Neugum
>>> Release:        8.0-stable
>>> Organization:
>>
>> private person
>>
>>> Environment:
>>
>> FreeBSD Chris 8.0-STABLE FreeBSD 8.0-STABLE #1: Sun Jan 10 21:27:41 CET
>>  2010     root@Chris:/usr/obj/usr/src/sys/WORKSTATION  i386
>>
>>> Description:
>>
>> I've installed FreeBSD 8.0 on my computer and I cannot get my Openmoko Neo
>>  FreeRunner working with if_cdce. With FreeBSD 7.2 it worked well. After
>>  loading the if_cdce kernel module I plugged in my FreeRunner but no cdce*
>>  device is shown in /dev. I've tried different usb ports and loaded the
>>  module at boottime but the result is the same.
>>
>>> How-To-Repeat:
>>
>> $ kldstat
>> Id Refs Address    Size     Name
>>  1   18 0xc0400000 612ca4   kernel
>>  2    1 0xc0a13000 14f10    snd_emu10kx.ko
>>  3    3 0xc0a28000 55730    sound.ko
>>  4    1 0xc0a7e000 7551b4   nvidia.ko
>>  5    2 0xc11d4000 2c8d4    linux.ko
>> $ sudo kldload if_cdce
>> $ kldstat
>> Id Refs Address    Size     Name
>>  1   26 0xc0400000 612ca4   kernel
>>  2    1 0xc0a13000 14f10    snd_emu10kx.ko
>>  3    3 0xc0a28000 55730    sound.ko
>>  4    1 0xc0a7e000 7551b4   nvidia.ko
>>  5    2 0xc11d4000 2c8d4    linux.ko
>>  6    1 0xc8b9b000 6000     if_cdce.ko
>>  7    1 0xc7108000 3000     uether.ko
>> <<<--- plugged in my FreeRuner
>> $ dmesg
>> [...]
>> ugen1.2: <Linux 2.6.29-GTA02_qtmoko-v14-mokodev with s3c241> at usbus1
>> $ ls /dev | grep c
>> acd0
>> acd1
>> acpi
>> console
>> consolectl
>> ctty
>> devctl
>> geom.ctl
>> mdctl
>> nfslock
>> nvidiactl
>> pci
>> ttyvc
>> usbctl
>>
>>> Fix:
> 
> You need to execute, due to the way the Linux guys designed it. Alternativly 
> you can add a quirk to the quirks table to do this automatically.
> 
> usbconfig -u 1 a 2 set_config 1
> 
> --HPS

Hi HPS,

can you provide me with some more details?
I'm not so familiar with this usb stuff.

I got it working with the command you mentioned above. But it is limited
to the specific usb port, isn't it?

You also mentioned a quirk table. Can you provide me with a small howto
or a website showing how to add an entry to the quirk table? I haven't
found anything in Google.

If I've added my device to this table. Do I have to redo those steps
after upgrading my system to a newer FreeBSD version? I'm building the
new world and kernel from the sources.

Hope my questions don't annoy you, but I've no clue where to find the
information I need.

Regards,

Chris
Comment 4 Christian Neugum 2010-02-17 19:10:03 UTC
On 02/07/10 09:13, Hans Petter Selasky wrote:
> On Sunday 07 February 2010 00:38:31 Christian Neugum wrote:
>>> Number:         143620
>>> Category:       usb
>>> Synopsis:       the module if_cdce doesn't support my Openmoko Neo
>>> FreeRunner anymore Confidential:   no
>>> Severity:       non-critical
>>> Priority:       medium
>>> Responsible:    freebsd-usb
>>> State:          open
>>> Quarter:
>>> Keywords:
>>> Date-Required:
>>> Class:          sw-bug
>>> Submitter-Id:   current-users
>>> Arrival-Date:   Sat Feb 06 23:40:01 UTC 2010
>>> Closed-Date:
>>> Last-Modified:
>>> Originator:     Christian Neugum
>>> Release:        8.0-stable
>>> Organization:
>>
>> private person
>>
>>> Environment:
>>
>> FreeBSD Chris 8.0-STABLE FreeBSD 8.0-STABLE #1: Sun Jan 10 21:27:41 CET
>>  2010     root@Chris:/usr/obj/usr/src/sys/WORKSTATION  i386
>>
>>> Description:
>>
>> I've installed FreeBSD 8.0 on my computer and I cannot get my Openmoko Neo
>>  FreeRunner working with if_cdce. With FreeBSD 7.2 it worked well. After
>>  loading the if_cdce kernel module I plugged in my FreeRunner but no cdce*
>>  device is shown in /dev. I've tried different usb ports and loaded the
>>  module at boottime but the result is the same.
>>
>>> How-To-Repeat:
>>
>> $ kldstat
>> Id Refs Address    Size     Name
>>  1   18 0xc0400000 612ca4   kernel
>>  2    1 0xc0a13000 14f10    snd_emu10kx.ko
>>  3    3 0xc0a28000 55730    sound.ko
>>  4    1 0xc0a7e000 7551b4   nvidia.ko
>>  5    2 0xc11d4000 2c8d4    linux.ko
>> $ sudo kldload if_cdce
>> $ kldstat
>> Id Refs Address    Size     Name
>>  1   26 0xc0400000 612ca4   kernel
>>  2    1 0xc0a13000 14f10    snd_emu10kx.ko
>>  3    3 0xc0a28000 55730    sound.ko
>>  4    1 0xc0a7e000 7551b4   nvidia.ko
>>  5    2 0xc11d4000 2c8d4    linux.ko
>>  6    1 0xc8b9b000 6000     if_cdce.ko
>>  7    1 0xc7108000 3000     uether.ko
>> <<<--- plugged in my FreeRuner
>> $ dmesg
>> [...]
>> ugen1.2: <Linux 2.6.29-GTA02_qtmoko-v14-mokodev with s3c241> at usbus1
>> $ ls /dev | grep c
>> acd0
>> acd1
>> acpi
>> console
>> consolectl
>> ctty
>> devctl
>> geom.ctl
>> mdctl
>> nfslock
>> nvidiactl
>> pci
>> ttyvc
>> usbctl
>>
>>> Fix:
> 
> You need to execute, due to the way the Linux guys designed it. Alternativly 
> you can add a quirk to the quirks table to do this automatically.
> 
> usbconfig -u 1 a 2 set_config 1
> 
> --HPS

Hi,

it seems that my reply got lost in the www.
The workaround fixed my problem, but can you show me how to add a quirk
to the quirks table or provide me with a website? I haven't found
anything in Google.

Thanks!

Christian
Comment 5 Hans Petter Selasky 2010-02-17 20:30:03 UTC
See: /usr/src/sys/dev/usb/quirk/usb_quirk.c

And: 

        USB_QUIRK(ELSA, MODEM1, 0x0000, 0xffff, UQ_CFG_INDEX_1),

Please make a patch.

--HPS
Comment 6 Eitan Adler freebsd_committer freebsd_triage 2017-12-31 08:01:00 UTC
For bugs matching the following criteria:

Status: In Progress Changed: (is less than) 2014-06-01

Reset to default assignee and clear in-progress tags.

Mail being skipped