Marvell chipsets on 8-CURRENT and XP x64 won't talk with one another

Garrett Cooper youshi10 at u.washington.edu
Sat Oct 27 05:46:42 PDT 2007


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


More information about the freebsd-net mailing list