Назад | Перейти на главную страницу

Ethernet-порты Solaris: e1000g1 и e1000g2 не работают

Я могу plumb и настроить e1000g0 и e1000g3 с помощью ifconfig, но я не могу использовать e1000g1 или e1000g2.

Когда я пытаюсь ifconfig e1000g1 plumb, Я получил ifconfig: plumb: e1000g1: Invalid argument.

Они являются частью единого набора из четырех портов Ethernet, физически включенных в систему, но по какой-то причине. Они существуют в /dev в той же схеме, что и на другом X4100, который работает нормально. Даже указывая на одни и те же места в /devices/pci@0,0/pci1022,7450@1/pci1022,7450@1. Однако в рассматриваемом X4100 элементы для 1 и 2 отсутствуют. Вероятно, в этом и проблема.

Как я могу получить доступ к интерфейсам 1 и 2 и заставить их отображаться в /devices чтобы я мог получить к ним доступ?

Вот результат prtconf -D:

System Configuration:  Sun Microsystems  i86pc
Memory size: 1024 Megabytes
System Peripherals (Software Nodes):

i86pc (driver name: rootnex)
    scsi_vhci, instance #0 (driver name: scsi_vhci)
    isa, instance #0 (driver name: isa)
        i8042, instance #0 (driver name: i8042)
            keyboard, instance #0 (driver name: kb8042)
        asy, instance #0 (driver name: asy)
        motherboard
    pci, instance #0 (driver name: pci)
        pci1022,7450, instance #0 (driver name: pci_pci)
            pci8086,1011, instance #0 (driver name: e1000g)
            pci8086,1011, instance #1 (driver name: e1000g)
            pci8086,1011 (driver name: e1000g)
            pci8086,1011, instance #3 (driver name: e1000g)
        pci1022,7451
        pci1022,7450, instance #1 (driver name: pci_pci)
            pci1000,3060, instance #0 (driver name: mpt)
                sd, instance #2 (driver name: sd)
                sd, instance #4 (driver name: sd)
                sd, instance #5 (driver name: sd)
        pci1022,7451
        pci1022,7460, instance #2 (driver name: pci_pci)
            pci1022,7464, instance #0 (driver name: ohci)
                device, instance #0 (driver name: usb_mid)
                    keyboard, instance #2 (driver name: hid)
                    mouse, instance #3 (driver name: hid)
            pci1022,7464, instance #1 (driver name: ohci)
                storage, instance #0 (driver name: scsa2usb)
                    disk, instance #0 (driver name: sd)
                storage, instance #1 (driver name: scsa2usb)
                    disk, instance #1 (driver name: sd)
            display, instance #0 (driver name: vgatext)
        pci1022,7468
        pci-ide, instance #0 (driver name: pci-ide)
            ide (driver name: ata)
            ide (driver name: ata)
        pci1022,746a
        pci1022,746b
        pci1022,1100
        pci1022,1101, instance #0 (driver name: mc-amd)
        pci1022,1102, instance #1 (driver name: mc-amd)
        pci1022,1103
    pci, instance #1 (driver name: pci)
        pci1022,7450, instance #3 (driver name: pci_pci)
        pci1022,7451
        pci1022,7450, instance #4 (driver name: pci_pci)
        pci1022,7451
    iscsi, instance #0 (driver name: iscsi)
    pseudo, instance #0 (driver name: pseudo)
    options, instance #0 (driver name: options)
    xsvc, instance #0 (driver name: xsvc)
    objmgr, instance #0 (driver name: objmgr)
    used-resources
    cpus
        cpu, instance #0

Дополнительные результаты, запрошенные Джеймс (IP, сетевая маска, трансляция, эфир, замаскированный буквой x)

# ifconfig -a
lo0: flags=2001000849<UP,LOOPBACK,RUNNING,MULTICAST,IPv4,VIRTUAL> mtu 8232 index 1
        inet 127.0.0.1 netmask ff000000 
e1000g0: flags=1000843<UP,BROADCAST,RUNNING,MULTICAST,IPv4> mtu 1500 index 2
        inet x.x.x.x netmask xxxxxxxx broadcast x.x.x.x
        ether x:xx:xx:xx:xx:xx 
e1000g3: flags=1000843<UP,BROADCAST,RUNNING,MULTICAST,IPv4> mtu 1500 index 3
        inet x.x.x.x netmask xxxxxxxx broadcast x.x.x.x
        ether x:xx:xx:xx:xx:xx 
# dladm show-dev
e1000g0         link: up        speed: 100   Mbps       duplex: full
# grep e1000g /etc/path_to_inst
"/pci@0,0/pci1022,7450@1/pci8086,1011@1" 0 "e1000g"
"/pci@0,0/pci1022,7450@1/pci8086,1011@1,1" 1 "e1000g"
"/pci@0,0/pci1022,7450@1/pci8086,1011@2" 2 "e1000g"
"/pci@0,0/pci1022,7450@1/pci8086,1011@2,1" 3 "e1000g"
# 

Похоже, что с вашей системой происходит что-то странное.

В dladm вывод показывает только e1000g0. Он должен отображать все четыре интерфейса, даже если они не подключены. Еще больше беспокоит то, что он не показывает ваш интерфейс e1000g3, который является сантехнические.

Вот эквивалентный вывод от T5120 (также использует e1000g), с интерфейсами e1000g0 и e1000g1, подключенными и настроенными с IP-адресами, а два других интерфейса не подключены и не подключены:

# dladm show-dev
e1000g0         link: up        speed: 1000  Mbps       duplex: full
e1000g1         link: up        speed: 1000  Mbps       duplex: full
e1000g2         link: unknown   speed: 0     Mbps       duplex: half
e1000g3         link: unknown   speed: 0     Mbps       duplex: half

# grep e1000g /etc/path_to_inst
"/pci@0/pci@0/pci@1/pci@0/pci@2/network@0" 0 "e1000g"
"/pci@0/pci@0/pci@1/pci@0/pci@2/network@0,1" 1 "e1000g"
"/pci@0/pci@0/pci@1/pci@0/pci@3/network@0" 2 "e1000g"
"/pci@0/pci@0/pci@1/pci@0/pci@3/network@0,1" 3 "e1000g"

# ls -l /devices/pci\@0/pci\@0/pci\@1/pci\@0/pci\@2/
total 4
drwxr-xr-x   2 root     sys          512 Jan 20  2009 network@0
drwxr-xr-x   2 root     sys          512 Jan 20  2009 network@0,1
crw-rw-rw-   1 root     root      83,  2 Mar  4  2011 network@0,1:e1000g1
crw-rw-rw-   1 root     root      83,  1 Mar  4  2011 network@0:e1000g0
# ls -l /devices/pci\@0/pci\@0/pci\@1/pci\@0/pci\@3/
total 4
drwxr-xr-x   2 root     sys          512 Jan 20  2009 network@0
drwxr-xr-x   2 root     sys          512 Jan 20  2009 network@0,1
crw-rw-rw-   1 root     root      83,  4 Mar  4  2011 network@0,1:e1000g3
crw-rw-rw-   1 root     root      83,  3 Mar  4  2011 network@0:e1000g2

Я бы рекомендовал в качестве первого курса действий запланировать некоторое время простоя для этого блока и выполнить перезагрузку с реконфигурацией. То есть одно из:

# touch /reconfigure
# init 6

ИЛИ

# init 0
grub> boot -r

(Я не могу вспомнить, как вы редактировали параметры GRUB в блоке серии X, так как у меня их нет под рукой. Думаю, вы нажали TAB в меню GRUB и добавьте -r к аргументам загрузки.)

Как только ящик будет восстановлен, отметьте dladm show-dev очередной раз.