Компьютерный форум OSzone.net  

Компьютерный форум OSzone.net (http://forum.oszone.net/index.php)
-   Общий по FreeBSD (http://forum.oszone.net/forumdisplay.php?f=10)
-   -   Проблема с сетью на Acer Aspire 5315 (http://forum.oszone.net/showthread.php?t=101661)

I7@BeJI 28-02-2008 07:54 749730

Проблема с сетью на Acer Aspire 5315
 
Здравствуйте. Купил ноут Acer Aspire 5315 с предустановленной Windows Vista Home Basic, неподеццки тормозящей на этой машине. После установки FreeBSD 6.3 столкнулся со следующей проблемой - не видно сетевой карты. Сетевая Broadcom Netlink Fast Ethernet BCM 57xx/59xx (По крайней мере так определялась в венде). Вопрос заключается в том, как заставить эту сетевуху работать. Заранее благодарен

Dm1try 28-02-2008 15:20 749908

Попробуйте 7.0.

exo 28-02-2008 17:05 749992

или самим дрова написать для карты... этож Фря... :)

I7@BeJI 29-02-2008 07:02 750366

Dm1try, по поводу 7 фри скачал и установил отдельно ядро 7-го релиза. Результат тот же. Сетевуха не определяется.
exo, максимум что получится, если я начну писать дрова - какой нибудь kernel panic или hello world. Я не программист.
Тогда вопрос несколько другого плана - в новых дистрибутивах Linux данная сетевуха поддерживается. Также у меня есть tar-архив с этим драйвером. Есть ли совместимость с Linux драйверами? Или быть может есть какие-нибудь ресурсы в инете, на которых обсуждаются проблемы FreeBSD на лаптопах?

Да и ещё, судя по PCI\VEN_14e4&DEV_1713 - модель чипсета BCM5906. А драйвер bge поддерживает только 57xx серию... Получается что для данного чипсета поддержки в ядре нет?

I7@BeJI 29-02-2008 09:59 750422

После долгих поисков нашел патч под FreeBSD 6.3 RC2 - http://www.freebsd.org/cgi/query-pr.cgi?pr=118975
Однако ядро отказалось собираться после наложения данного патча...
Ошибки при компиляции if_bge.c
Может быть надо еще и свежий if_bge.c в каталок с сорцами ядра закинуть?

exo 29-02-2008 11:25 750477

Цитата:

Цитата I7@BeJI
Есть ли совместимость с Linux драйверами »

во фре есть возможность включить Linux-совместимое ПО. но как с драйверами - не проверял.

I7@BeJI 01-04-2008 09:16 772143

Поставил FreeBSD 7.0-Release. После применения патча со страницы http://groups.google.com/group/maili...81580c09?fwc=1 все же осталась проблема - при сборке конфликт типов в модуле if_bge.c.
Код:

/usr/src/sys/dev/bge/if_bge.c:326: warning: 'struct bge_softic' declared inside parameter list
/usr/src/sys/dev/bge/if_bge.c:326: warning: its scope is only this definition or declaration, which is probably not what you want
/usr/src/sys/dev/bge/if_bge.c:327: warning: 'struct bge_softic' declared inside parameter list
/usr/src/sys/dev/bge/if_bge.c:328: warning: 'struct bge_softic' declared inside parameter list
/usr/src/sys/dev/bge/if_bge.c:329: warning: 'struct bge_softic' declared inside parameter list
/usr/src/sys/dev/bge/if_bge.c: In function 'bge_attach':
/usr/src/sys/dev/bge/if_bge.c:2554: warning: passing argument 1 of 'bge_get_eaddr' from incompatible pointer type
/usr/src/sys/dev/bge/if_bge.c: At top level:
/usr/src/sys/dev/bge/if_bge.c:4690: error: conflicting types for 'bge_get_eaddr_mem'
/usr/src/sys/dev/bge/if_bge.c:326: error: previous declaration of 'bge_get_eaddr_mem' was here
/usr/src/sys/dev/bge/if_bge.c:4710: error: conflicting types for 'bge_get_eaddr_nvram'
/usr/src/sys/dev/bge/if_bge.c:327: error: previous declaration of 'bge_get_eaddr_nvram' was here
/usr/src/sys/dev/bge/if_bge.c:4721: error: conflicting types for 'bge_get_eaddr_eeprom'
/usr/src/sys/dev/bge/if_bge.c:328: error: previous declaration of 'bge_get_eaddr_eeprom' was here
/usr/src/sys/dev/bge/if_bge.c:4731: error: conflicting types for 'bge_get_eaddr'
/usr/src/sys/dev/bge/if_bge.c:329: error: previous declaration of 'bge_get_eaddr' was here

Быть может еще что-то надо подправить в коде модуля?

mar 02-04-2008 01:57 772839

exo,
это совместимость все-таки не для драйверов
I7@BeJI,
1) а как там в перечисленных строчках определены bge_get_eaddr_mem, bge_get_eaddr_nvram и прочее?
2) я немного запуталась, - у Вас сейчас в результате 6-ая ветка, или 7-ая, или микс?

I7@BeJI 02-04-2008 07:15 772888

mar,
1. Как я понял функции в if_bge.c определены 2 раза:

Код:

№строки                  код
326          static int bge_get_eaddr_mem(struct bge_softc *, uint8_t[]);
327          static int bge_get_eaddr_nvram(struct bge_softc *, uint8_t[]);
328          int bge_get_eaddr_eeprom(struct bge_softc *, uint8_t[]);
329          static int bge_get_eaddr(struct bge_softc *, uint8_t[]);

Код:

№строки                  код
4689        static int
4690        bge_get_eaddr_mem(struct bge_softc *sc, uint8_t ether_addr[])
4691        {
4692                uint32_t mac_addr;
4693                int ret = 1;
4694       
4695                mac_addr = bge_readmem_ind(sc, 0x0c14);
4696                if ((mac_addr >> 16) == 0x484b) {
4697                        ether_addr[0] = (uint8_t)(mac_addr >> 8);
4698                        ether_addr[1] = (uint8_t)mac_addr;
4699                        mac_addr = bge_readmem_ind(sc, 0x0c18);
4700                        ether_addr[2] = (uint8_t)(mac_addr >> 24);
4701                                ether_addr[3] = (uint8_t)(mac_addr >> 16);
4702                                ether_addr[4] = (uint8_t)(mac_addr >> 8);
4703                                ether_addr[5] = (uint8_t)mac_addr;
4704                                ret = 0;
4705                        }
4706                        return ret;
4707                }
4708               
4709                static int
4710                bge_get_eaddr_nvram(struct bge_softc *sc, uint8_t ether_addr[])
4711                {
4712                        int mac_offset = BGE_EE_MAC_OFFSET;
4713               
4714                        if (sc->bge_asicrev == BGE_ASICREV_BCM5906)
4715                                mac_offset = BGE_EE_MAC_OFFSET_5906;
4716               
4717                        return bge_read_nvram(sc, ether_addr, mac_offset + 2, ETHER_ADDR_LEN);
4718                }
4719               
4720                static int
4721                bge_get_eaddr_eeprom(struct bge_softc *sc, uint8_t ether_addr[])
4722                {
4723                        if (!(sc->bge_flags & BGE_FLAG_EEPROM))
4724                                return 1;
4725               
4726                        return bge_read_eeprom(sc, ether_addr, BGE_EE_MAC_OFFSET + 2,
4727                                                ETHER_ADDR_LEN);
4728                }
4729               
4730                static int
4731                bge_get_eaddr(struct bge_softc *sc, uint8_t eaddr[])
4732                {
4733                        static const bge_eaddr_fcn_t bge_eaddr_funcs[] = {
4734                                /* NOTE: Order is critical */
4735                                bge_get_eaddr_mem,
4736                                bge_get_eaddr_nvram,
4737                                bge_get_eaddr_eeprom,
4738                                NULL
4739                        };
4740                        const bge_eaddr_fcn_t *func;
4741               
4742                        for (func = bge_eaddr_funcs; *func != NULL; ++func) {
4743                                if ((*func)(sc, eaddr) == 0)
4744                                        break;
4745                        }
4746                        return (*func == NULL ? ENXIO : 0);
4747                }

2. В результате польностью снес 6.3 и установил 7.0-Release. Но проблема осталась и на 7-й ветке тоже. Конечно быть может проблема с /dev/brain и /dev/hands :-D. Но все-таки хочется разобраться.

Также предлагают патч http://people.freebsd.org/~benjsc/do...-bge-5906.diff, предназначенный, как я понял, для -current. Только по опыту установки нового ядра со старым окружением как-то не хочется компилить -current с этим патчем.

I7@BeJI 05-04-2008 11:58 775169

Алло, народ! Быть может поможет кто все-таки? или хотябы сцылу киньте на пропатченный if_bge.c, который будет компилиться. Или даже на скомпиленый модуль ядра if_bge.ko под архитектуру x86. Буду благодарен. А то как-то некошерно получается - фря и без сети

shadowing 05-04-2008 22:14 775707

I7@BeJI

ndizgen попробуй но не факт!
А на офсайте Broadcoma тоже нет? Странно для серверной оси тк серваки и с такими сетевухами есть!


Время: 16:52.

Время: 16:52.
© OSzone.net 2001-