Most recent kernel where this bug did not occur: Never Distribution: Fedora Core 5 Hardware Environment:Fujitsu 2210 laptop with Targus Universal docking station using a ADMtek 8515 network card Software Environment: Problem Description: When attempting to run the pegasus driver on the ADMtek 8515 USB network card at boot up I get these errors in dmesg. pegasus 3-2.6:1.0: fail read_mii_word And returns my MAC address as 00:50:00:50:00:50 but the modules is loaded. When I restarted the module I get these errors in the my logs Sep 8 12:32:34 cheopa-laptop kernel: pegasus 3-2.6:1.0: fail read_eprom_word Sep 8 12:32:34 cheopa-laptop kernel: pegasus 3-2.6:1.0: can't reset MAC Sep 8 12:32:34 cheopa-laptop kernel: pegasus: probe of 3-2.6:1.0 failed with error -5 Steps to reproduce: Connect the Targus ACP50US Universal to one of the usb ports. Boot up computer. After bootup see the output from dmesg and /var/log/messages. ifconfig -a , to see the MAC addresss. lsmod | grep pegasus , to see the module is loaded in memory. modprobe -r pegasus. modprobe pegasus. See the output from dmesg and /var/log/messages. lsmod | grep pegasus , to see the module is loaded in memory.
Are you sure this device works properly? Have you tried it in other machines?
I found a Dell 360 precision workstation. Hook it up and I got the exact problem as my Fujitsu laptop.
After poking around the driver code (pegasus.c) it seems like the driver is unable to get the MAC address. Within the mii_phy_probe it calls the read_mii_word function to get the MAC address(I think). It is called by the following, around line number 1469 in pegasus.c. read_mii_word(pegasus, i, MII_BMSR, &tmp); Where pegasus is a stucture storing all the network card stuff. i is a loop from 0 to 31. MII_BMSR is the value it is looking for? tmp is where the data is stored to. Maybe this is the problem or I'm looking in the wrong place? Jose Torres
I encountered a very similar problem with my Dicota Replicator 2.0 (USB hub with PS/2, serial, USB and Ethernet ports) containing an ADMTek 8515 as well. I'm using a 2.6.15-26-386 kernel. My device is well detected, everything works fine except for my Ethernet port, which appears up and running in ifconfig and device management tools but doesn't actually work and has a weird MAC address 00:05:00:05:00:05 This is an extract of my kernel log as I plug my device in my USB port : Sep 22 17:04:22 localhost kernel: [17179656.040000] usb 1-1: new high speed USB device using ehci_hcd and address 2 Sep 22 17:04:22 localhost kernel: [17179656.172000] hub 1-1:1.0: USB hub found Sep 22 17:04:22 localhost kernel: [17179656.172000] hub 1-1:1.0: 7 ports detected Sep 22 17:04:22 localhost kernel: [17179656.492000] usb 1-1.1: new low speed USB device using ehci_hcd and address 3 Sep 22 17:04:23 localhost kernel: [17179656.828000] usb 1-1.2: new high speed USB device using ehci_hcd and address 4 Sep 22 17:04:23 localhost kernel: [17179657.124000] pegasus: v0.6.12 (2005/01/13), Pegasus/Pegasus II USB Ethernet driver Sep 22 17:04:23 localhost kernel: [17179657.156000] usb 1-1.7: new full speed USB device using ehci_hcd and address 5 Sep 22 17:04:23 localhost kernel: [17179657.264000] usbcore: registered new driver hiddev Sep 22 17:04:23 localhost kernel: [17179657.292000] pegasus 1-1.2:1.0: ctrl_callback, status -71 --(this message repeated thousands of times) --(...) Sep 22 17:04:23 localhost kernel: [17179657.360000] pegasus 1-1.2:1.0: fail read_eprom_word --(...) Sep 22 17:04:24 localhost kernel: [17179657.516000] pegasus 1-1.2:1.0: fail read_eprom_word --(...) Sep 22 17:04:24 localhost kernel: [17179657.516000] pegasus 1-1.2:1.0: setup Pegasus II specific registers Sep 22 17:04:24 localhost kernel: [17179657.688000] pegasus 1-1.2:1.0: fail read_mii_word Sep 22 17:04:24 localhost kernel: [17179657.688000] pegasus 1-1.2:1.0: ctrl_callback, status -71 Sep 22 17:04:24 localhost kernel: [17179657.688000] pegasus 1-1.2:1.0: eth1, ADMtek ADM8515 "Pegasus II" USB-2.0 Ethernet, 0$Sep 22 17:04:24 localhost kernel: [17179657.688000] usbcore: registered new driver pegasus Sep 22 17:04:24 localhost kernel: [17179657.692000] input: MCT USB PS/2 Keyboard - PS/2 Mouse as /class/input/input4 Sep 22 17:04:24 localhost kernel: [17179657.692000] input: USB HID v1.00 Keyboard [MCT USB PS/2 Keyboard - PS/2 Mouse] on us$Sep 22 17:04:24 localhost kernel: [17179657.700000] input: MCT USB PS/2 Keyboard - PS/2 Mouse as /class/input/input5 Sep 22 17:04:24 localhost kernel: [17179657.700000] input,hiddev96: USB HID v1.00 Mouse [MCT USB PS/2 Keyboard - PS/2 Mouse]$Sep 22 17:04:24 localhost kernel: [17179657.700000] usbcore: registered new driver usbhid Sep 22 17:04:24 localhost kernel: [17179657.700000] drivers/usb/input/hid-core.c: v2.6:USB HID core driver Sep 22 17:04:24 localhost kernel: [17179657.704000] usbcore: registered new driver usbserial Sep 22 17:04:24 localhost kernel: [17179657.704000] drivers/usb/serial/usb-serial.c: USB Serial support registered for gener$Sep 22 17:04:24 localhost kernel: [17179657.704000] usbcore: registered new driver usbserial_generic Sep 22 17:04:24 localhost kernel: [17179657.704000] drivers/usb/serial/usb-serial.c: USB Serial Driver core Sep 22 17:04:24 localhost kernel: [17179657.776000] drivers/usb/serial/usb-serial.c: USB Serial support registered for pl2303Sep 22 17:04:24 localhost kernel: [17179657.780000] pl2303 1-1.7:1.0: pl2303 converter detected Sep 22 17:04:24 localhost kernel: [17179657.784000] usb 1-1.7: pl2303 converter now attached to ttyUSB0 Sep 22 17:04:24 localhost kernel: [17179657.784000] usbcore: registered new driver pl2303 Sep 22 17:04:24 localhost kernel: [17179657.788000] drivers/usb/serial/pl2303.c: Prolific PL2303 USB to serial adaptor driverSep 22 17:04:24 localhost kernel: [17179658.348000] pl2303 ttyUSB0: pl2303_open - failed submitting interrupt urb, error -28 Sep 22 17:04:26 localhost kernel: [17179659.688000] pegasus 1-1.2:1.0: ctrl_callback, status -71 --(repeating forever, hundreds of times per second) Sep 22 17:04:26 localhost kernel: [17179659.748000] pegasus 1-1.2:1.0: fail read_mii_word --(repeating forever, every 2 seconds) Don't think this might help you, but this device always worked fine on my M$ Windows Operating System
I merged pegasus-driver-failing-for-admtek-8515-network-device into -mm. Please test.
Yep, it works fine for me. Thanks a lot. To make it simpler I didn't use the latest -mm patch, but instead reproduced the content of the patch you commited (quoted as follows) to my current 2.6.15-26 kernel source --- drivers/usb/net/pegasus.c +++ drivers/usb/net/pegasus.c @@ -481,8 +481,12 @@ static void set_ethernet_addr(pegasus_t { __u8 node_id[6]; - get_node_id(pegasus, node_id); - set_registers(pegasus, EthID, sizeof (node_id), node_id); + if (pegasus->features & PEGASUS_II) { + get_registers(pegasus, 0x10, sizeof(node_id), node_id); + } else { + get_node_id(pegasus, node_id); + set_registers(pegasus, EthID, sizeof (node_id), node_id); + } memcpy(pegasus->net->dev_addr, node_id, sizeof (node_id)); }