Войти

Показать полную графическую версию : Проблема с сетью на Acer Aspire 5315


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

Dm1try
28-02-2008, 15:20
Попробуйте 7.0.

exo
28-02-2008, 17:05
или самим дрова написать для карты... этож Фря... :)

I7@BeJI
29-02-2008, 07:02
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
После долгих поисков нашел патч под 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
Есть ли совместимость с Linux драйверами »
во фре есть возможность включить Linux-совместимое ПО. но как с драйверами - не проверял.

I7@BeJI
01-04-2008, 09:16
Поставил FreeBSD 7.0-Release. После применения патча со страницы http://groups.google.com/group/mailing.freebsd.net/browse_thread/thread/1ca4073751b54f38/2f98a9b681580c09?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
exo,
это совместимость все-таки не для драйверов
I7@BeJI,
1) а как там в перечисленных строчках определены bge_get_eaddr_mem, bge_get_eaddr_nvram и прочее?
2) я немного запуталась, - у Вас сейчас в результате 6-ая ветка, или 7-ая, или микс?

I7@BeJI
02-04-2008, 07:15
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/downloads/patches/20080325-bge-5906.diff, предназначенный, как я понял, для -current. Только по опыту установки нового ядра со старым окружением как-то не хочется компилить -current с этим патчем.

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

shadowing
05-04-2008, 22:14
I7@BeJI

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




© OSzone.net 2001-2012