Bekymmer med auto-negotiation för gigabit
Hej på er!
Jag har stött på ett problem som jag inte lyckats klura ut vad det kan bero på. Vänder mig lite desperat hitåt för att se om någon kanske upplevt något liknande eller kan klura ut på vilket sätt jag gjort bort mig. Vi har bytt internetleverantör och därmed har man uppgraderat till utrustning som klarar gigabit. Som datornörden man är så är detta givetvis någonting man vill åt. Det kanske inte är nödvändigt... men ni vet, internetpoäng. Man tilldelas en IP-adress via DHCP. Inget märkvärdigt. Låsning på en mac-adress utdelad samtidigt.
Jag kopplar in en laptop med Windows 8 direkt in i porten och får ut korrekta hastigheter direkt. Ethernets auto-negotiation lägger sig på 1000 Mbit/s full duplex, vilket är precis det jag vill, och borde få. Men detta var bara i testsyfte. Jag har en linux-servern som kör debian som fungerar som router här hemma. Den har två nätverkskort och båda har stöd för gigabit. Inga konstigheter. Och det är givetvis ena interfacet på denna som jag vill koppla in ut mot internetleverantörens utrustning.
Problemet som uppstår är att nätverkskortet på servern "auto-negotiation" endast hamnar på 100 Mbit/s full duplex mot ISPn. Jag testade växla konfigurationen på nätverkskorten och satte detta interface som är tänkt externt, till ett internt istället - och då lyckas den förhandla sig till 1000 Mbit/s full duplex. Det är alltså bara när den ska förhandla med ISPns interface som den inte lyckas dra sig till gigabit. Men samtidigt så verkar det inte vara någonting fel hos ISPn då det fungerade fint med Windows-maskinen. Försöker jag sätta 1000 full duplex manuellt så dyker uppkopplingen. Detsamma inträffade när internetleverantören hade prövat.
Ethtool på interfacet:
root@bottenskrap:/home/daniel# ethtool eth0
Settings for eth0:
Supported ports: [ TP ]
Supported link modes: 10baseT/Half 10baseT/Full
100baseT/Half 100baseT/Full
1000baseT/Half 1000baseT/Full
Supported pause frame use: No
Supports auto-negotiation: Yes
Advertised link modes: 10baseT/Half 10baseT/Full
100baseT/Half 100baseT/Full
1000baseT/Half 1000baseT/Full
Advertised pause frame use: Symmetric
Advertised auto-negotiation: Yes
Speed: 100Mb/s
Duplex: Full
Port: Twisted Pair
PHYAD: 1
Transceiver: internal
Auto-negotiation: on
MDI-X: Unknown
Supports Wake-on: g
Wake-on: g
Current message level: 0x000000ff (255)
drv probe link timer ifdown ifup rx_err tx_err
Link detected: yes
Samma interface - samma ethtool - men satt internt istället (till min switch, vilket är en billig d-link)
root@bottenskrap:~# ethtool eth0
Settings for eth0:
Supported ports: [ TP ]
Supported link modes: 10baseT/Half 10baseT/Full
100baseT/Half 100baseT/Full
1000baseT/Half 1000baseT/Full
Supported pause frame use: No
Supports auto-negotiation: Yes
Advertised link modes: 10baseT/Half 10baseT/Full
100baseT/Half 100baseT/Full
1000baseT/Half 1000baseT/Full
Advertised pause frame use: Symmetric
Advertised auto-negotiation: Yes
Speed: 1000Mb/s
Duplex: Full
Port: Twisted Pair
PHYAD: 1
Transceiver: internal
Auto-negotiation: on
MDI-X: Unknown
Supports Wake-on: g
Wake-on: g
Current message level: 0x000000ff (255)
drv probe link timer ifdown ifup rx_err tx_err
Link detected: yes
root@bottenskrap:/home/daniel# mii-tool
eth0: negotiated 100baseTx-FD, link ok
SIOCGMIIREG on eth1 failed: Input/output error
SIOCGMIIREG on eth1 failed: Input/output error
eth1: negotiated 1000baseT-FD flow-control, link ok
(eth0 uppkopplat externt, eth1 internt)
Jag kan tillägga att jag använde samma kablage (Cat 5e) när jag prövade med Windows-laptopen och servern - detta bör således inte vara bekymret.
Skulle behöva tips om hur jag kan fortsätta felsökningen eller om jag glömt någonting viktigt. Lyckas inte klura ut vad som kan vara bekymret.
Tack så mycket på förhand
/Daniel