Skip site navigation (1)Skip section navigation (2)
Date:      Sat, 29 Oct 2005 14:00:00 +0100
From:      Nick Savchenko <rust@voliacable.com>
To:        freebsd-hardware@freebsd.org
Subject:   cdce driver doesn't work with Motorola SB4200
Message-ID:  <357420041.20051029140000@voliacable.com>

next in thread | raw e-mail | index | archive | help
Hi.

Recently I've installed FreeBSD (RELEASE-5.4), and I cannot get my USB
cable modem working. The problem is that cdce driver doesn't determine
MAC address correctly. Here is a corresponding part of dmesg log (full
log and other info is in the end of the message):

cdce0: Motorola Corporation SB4200 USB Cable Modem, rev 1.00/1.01, addr 2
cdce0: faking MAC address
cdce0: Ethernet address: 2a:00:00:00:00:00
cdce0: if_start running deferred for Giant

I've also tried driver from 6.0-RC1, but result was the same.

Despite I'm not familiar with programming drivers for freebsd, I've
explore a code a bit, and determined, that the problem is in a
following line (from /sys/dev/usb/if_cdce.c).

ue = (const usb_cdc_ethernet_descriptor_t *)usb_find_desc(dev, UDESC_INTERFACE, UDESCSUB_CDC_ENF);

The expression in the right part of assignment returns 0, but it
should return a pointer to a structure.

I've tried to look into CDCEther Linux driver, but I have no
experience with system programming, and unfamiliar with device
specifications, so comparison of drivers didn't help to determine why
things go wrong.

Any help would be greatly appreciated.

uname -a
FreeBSD vatutin.emacs.no-ip.org 5.4-RELEASE FreeBSD 5.4-RELEASE #0: Sat Oct 29 12:05:21 EEST 2005
root@vatutin.emacs.no-ip.org:/usr/src/sys/i386/compile/GENERIC  i386

dmesg
Copyright (c) 1992-2005 The FreeBSD Project.
Copyright (c) 1979, 1980, 1983, 1986, 1988, 1989, 1991, 1992, 1993, 1994
        The Regents of the University of California. All rights reserved.
FreeBSD 5.4-RELEASE #0: Sat Oct 29 12:05:21 EEST 2005
    root@vatutin.emacs.no-ip.org:/usr/src/sys/i386/compile/GENERIC
Timecounter "i8254" frequency 1193182 Hz quality 0
CPU: Intel Celeron (634.78-MHz 686-class CPU)
  Origin = "GenuineIntel"  Id = 0x683  Stepping = 3
  Features=0x383f9ff<FPU,VME,DE,PSE,TSC,MSR,PAE,MCE,CX8,SEP,MTRR,PGE,MCA,CMOV,PAT,PSE36,MMX,FXSR,SSE>
real memory  = 201240576 (191 MB)
avail memory = 187248640 (178 MB)
npx0: <math processor> on motherboard
npx0: INT 16 interface
acpi0: <ASUS CUSL2-C> on motherboard
acpi0: Power Button (fixed)
Timecounter "ACPI-fast" frequency 3579545 Hz quality 1000
acpi_timer0: <24-bit timer at 3.579545MHz> port 0xe408-0xe40b on acpi0
cpu0: <ACPI CPU (2 Cx states)> on acpi0
acpi_throttle0: <ACPI CPU Throttling> on cpu0
acpi_button0: <Power Button> on acpi0
pcib0: <ACPI Host-PCI bridge> port 0xcf8-0xcff on acpi0
pci0: <ACPI PCI bus> on pcib0
agp0: <Intel 82815 (i815 GMCH) host to PCI bridge> mem 0xf8000000-0xfbffffff at device 0.0 on pci0
pcib1: <ACPI PCI-PCI bridge> at device 1.0 on pci0
pci1: <ACPI PCI bus> on pcib1
pci1: <display, VGA> at device 0.0 (no driver attached)
pcib2: <ACPI PCI-PCI bridge> at device 30.0 on pci0
pci2: <ACPI PCI bus> on pcib2
pcm0: <Creative CT5880-C> port 0xd800-0xd83f at device 12.0 on pci2
pcm0: <TriTech TR28602 AC97 Codec>
isab0: <PCI-ISA bridge> at device 31.0 on pci0
isa0: <ISA bus> on isab0
atapci0: <Intel ICH2 UDMA100 controller> port 0xb800-0xb80f,0x376,0x170-0x177,0x3f6,0x1f0-0x1f7 at device 31.1 on pci0
ata0: channel #0 on atapci0
ata1: channel #1 on atapci0
uhci0: <Intel 82801BA/BAM (ICH2) USB controller USB-A> port 0xb400-0xb41f irq 5 at device 31.2 on pci0
usb0: <Intel 82801BA/BAM (ICH2) USB controller USB-A> on uhci0
usb0: USB revision 1.0
uhub0: Intel UHCI root hub, class 9/0, rev 1.00/1.00, addr 1
uhub0: 2 ports with 2 removable, self powered
pci0: <serial bus, SMBus> at device 31.3 (no driver attached)
uhci1: <Intel 82801BA/BAM (ICH2) USB controller USB-B> port 0xb000-0xb01f irq 9 at device 31.4 on pci0
usb1: <Intel 82801BA/BAM (ICH2) USB controller USB-B> on uhci1
usb1: USB revision 1.0
uhub1: Intel UHCI root hub, class 9/0, rev 1.00/1.00, addr 1
uhub1: 2 ports with 2 removable, self powered
fdc0: <floppy drive controller> port 0x3f7,0x3f2-0x3f5 irq 6 drq 2 on acpi0
fd0: <1440-KB 3.5" drive> on fdc0 drive 0
ppc0: <ECP parallel printer port> port 0x778-0x77f,0x378-0x37f irq 7 drq 3 on acpi0
ppc0: SMC-like chipset (ECP/EPP/PS2/NIBBLE) in COMPATIBLE mode
ppc0: FIFO with 16/16/9 bytes threshold
ppbus0: <Parallel port bus> on ppc0
plip0: <PLIP network interface> on ppbus0
lpt0: <Printer> on ppbus0
lpt0: Interrupt-driven port
ppi0: <Parallel I/O> on ppbus0
sio0: <16550A-compatible COM port> port 0x3f8-0x3ff irq 4 flags 0x10 on acpi0
sio0: type 16550A
sio1: <16550A-compatible COM port> port 0x2f8-0x2ff irq 3 on acpi0
sio1: type 16550A
atkbdc0: <Keyboard controller (i8042)> port 0x64,0x60 irq 1 on acpi0
atkbd0: <AT Keyboard> irq 1 on atkbdc0
kbd0 at atkbd0
psm0: <PS/2 Mouse> irq 12 on atkbdc0
psm0: model IntelliMouse, device ID 3
orm0: <ISA Option ROM> at iomem 0xc0000-0xcffff on isa0
pmtimer0 on isa0
sc0: <System console> at flags 0x100 on isa0
sc0: VGA <16 virtual consoles, flags=0x300>
vga0: <Generic ISA VGA> at port 0x3c0-0x3df iomem 0xa0000-0xbffff on isa0
cdce0: Motorola Corporation SB4200 USB Cable Modem, rev 1.00/1.01, addr 2
Couldn't find usb_find_desc
cdce0: faking MAC address
cdce0: Ethernet address: 2a:00:00:00:00:00
cdce0: if_start running deferred for Giant
Timecounter "TSC" frequency 634775948 Hz quality 800
Timecounters tick every 10.000 msec
ad0: 9768MB <ST310212A/3.02> [19846/16/63] at ata0-master UDMA66
acd0: CDRW <TEAC CD-W552E/1.05> at ata1-master PIO4
acd1: CDROM <CD-540E/1.0A> at ata1-slave PIO4
Mounting root from ufs:/dev/ad0s2a 

-- 
Best regards,
 Nick Savchenko




Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?357420041.20051029140000>