Marvell chipsets on 8-CURRENT and XP x64 won't talk with one
another
Garrett Cooper
youshi10 at u.washington.edu
Mon Nov 5 01:03:55 PST 2007
On Oct 31, 2007, at 9:50 AM, Garrett Cooper wrote:
> Garrett Cooper wrote:
>> Tom Judge wrote:
>>> Garrett Cooper wrote:
>>>> Mike Silbersack wrote:
>>>>>
>>>>> On Fri, 19 Oct 2007, Garrett Cooper wrote:
>>>>>
>>>>>>> Just to clarify, how are the two hooked together? Is it over
>>>>>>> gigabit switch, a 10mbps hub, or directly cabled together?
>>>>>>>
>>>>>>> -Mike
>>>>>>
>>>>>> Sure. They're both connected over a gigabit switch, but the
>>>>>> Windows driver's kind of sketchy because it keeps on switching
>>>>>> between 100MBit and 1GBit. I haven't really paid that much
>>>>>> attention to what speed the FreeBSD msk driver is registering at.
>>>>>> -Garrett
>>>>>
>>>>> Ah ha!
>>>>>
>>>>> I had the flopping between 100mbps and 1gbps problem with some
>>>>> Intel cards once - some of the machines in the lab were fine,
>>>>> others kept switching back and forth. We eventually narrowed
>>>>> it down to the cables we had hand-made; some of them just
>>>>> weren't up to snuff, and the NIC apparently decided that it had
>>>>> to go back down to 100.
>>>>>
>>>>> I think you should switch your gigabit switch out for a 100mbps
>>>>> switch and see if the network becomes more reliable.
>>>>>
>>>>> -Mike
>>>>
>>>> I think I've discovered what the issue is. I believe the
>>>> problem lies in the fact that the FreeBSD Marvell chipset driver
>>>> (msk) isn't up to speed with the Gigabit transferring on my
>>>> particular chipset(s). That's why transfers were most likely
>>>> working with my laptop (Apple with 100MBit Broadcom) vs my
>>>> desktop (Asus MB with another Marvell chipset driver) and
>>>> another laptop (Dell laptop with Broadcom Gigabit).
>>>> How do I tell ifconfig via rc.conf to downgrade the max speed
>>>> to 100MBit duplex?
>>>> Thanks,
>>>> -Garrett
>>>
>>> You would need to hard code the interface configuration on the
>>> switch and box. This is only possible if you have a managed
>>> switch and the methods on the switch are manufacturer and model
>>> dependent.
>>>
>>> On FreeBSD however it is trivial for example "ifconfig em0 media
>>> 100baseTX mediaopt full-duplex".
>>>
>>> This will disable speed negotiation and therefore must be
>>> configured at both ends of the link.
>>>
>>> Tom
>>
>> Well, this is interesting. I used a crappy switch (100MBit SOHO
>> switch), in place of my Netgear non-managed gigabit switch, and
>> the same thing occurred on the XP x64 machine.
>>
>> I may have forgotten to mention that at one time both machines
>> were running XP variants of some sort (x64 and x86), and they
>> worked perfectly fine with one another >_>...
>>
>> Here's some additional info:
>>
>> optimus# arp -a
>> ? (192.168.0.1) at (incomplete) on msk0 [ethernet] # Dummy gateway
>> ? (192.168.0.42) at 00:11:24:2f:15:bc on msk0 [ethernet] # iBook
>> (broadcom adapter)
>> ? (192.168.0.47) at 00:1a:92:d2:f7:f6 on msk0 [ethernet] # Win XP
>> x64 machine
>> ? (192.168.0.255) at ff:ff:ff:ff:ff:ff on msk0 permanent [ethernet]
>> optimus# ifconfig msk0
>> msk0: flags=8843<UP,BROADCAST,RUNNING,SIMPLEX,MULTICAST> metric 0
>> mtu 1500
>> options=9a<TXCSUM,VLAN_MTU,VLAN_HWTAGGING,VLAN_HWCSUM>
>> ether 00:1b:fc:45:9b:5c
>> inet 192.168.0.45 netmask 0xffffff00 broadcast 255.255.255.0
>> media: Ethernet autoselect (100baseTX <full-
>> duplex,flag0,flag1>)
>> status: active
>> ifconfig_msk0="inet 192.168.0.45 broadcast 255.255.255.0"
>> # media 100baseTX mediaopt full-duplex"
>> defaultrouter="192.168.0.1"
>> optimus# netstat -nr
>> Routing tables
>>
>> Internet:
>> Destination Gateway Flags Refs Use
>> Netif Expire
>> default 192.168.0.1 UGS 0 0 msk0
>> 127.0.0.1 127.0.0.1 UH 0 12 lo0
>> 192.168.0.0/24 link#1 UC 0 0 msk0
>> 192.168.0.1 link#1 UHLW 2 0 msk0
>> 192.168.0.42 00:11:24:2f:15:bc UHLW 1 179
>> msk0 1028
>> 192.168.0.47 00:1a:92:d2:f7:f6 UHLW 1 21
>> msk0 1162
>> 192.168.0.255 ff:ff:ff:ff:ff:ff UHLWb 1 49 msk0
>>
>> arp and everything's show the correct information on the XP end,
>> even after I removed the 'dummy gateway' on both machines..
>>
>> Next course of action? Snort? tcpdump?
>>
>> Thanks,
>> -Garrett
>
> I'm running tcpdump on my Mac and I noted a lot of 'bad
> checksums' (0x081c was the official error in all cases), then
> consulted the msk driver. It appears that there's a bug with Yukon
> II chipsets with the hardware checksumming and I wonder whether or
> not the chipset that I have is affected by this issue as well.
> I'll provide my chipset/model info in my next reply (can't
> access it from this PC).
> -Garrett
Got a wee bit busy there.
Anyhow, here's the chipset info (snippet) reported from dmesg:
[gcooper at shiina: ~]$ ssh -C optimus "dmesg | grep msk"
Password:
mskc0: <Marvell Yukon 88E8056 Gigabit Ethernet> port 0xd800-0xd8ff
mem 0xfe9fc000-0xfe9fffff irq 17 at device 0.0 on pci2
msk0: <Marvell Technology Group Ltd. Yukon EC Ultra Id 0xb4 Rev 0x02>
on mskc0
msk0: Ethernet address: 00:1b:fc:45:9b:5c
miibus0: <MII bus> on msk0
-Garrett
More information about the freebsd-net
mailing list