FreeBSD - Проблема с сетью на Acer Aspire 5315

Аватара пользователя
I7@BeJI

FreeBSD - Проблема с сетью на Acer Aspire 5315

Сообщение I7@BeJI »

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

Re: FreeBSD - Проблема с сетью на Acer Aspire 5315

Сообщение shadowing »

I7@BeJI



ndizgen попробуй но не факт!

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

Re: FreeBSD - Проблема с сетью на Acer Aspire 5315

Сообщение I7@BeJI »

Dm1try, по поводу 7 фри скачал и установил отдельно ядро 7-го релиза. Результат тот же. Сетевуха не определяется.

exo, максимум что получится, если я начну писать дрова - какой нибудь kernel panic или hello world. Я не программист.

Тогда вопрос несколько другого плана - в новых дистрибутивах Linux данная сетевуха поддерживается. Также у меня есть tar-архив с этим драйвером. Есть ли совместимость с Linux драйверами? Или быть может есть какие-нибудь ресурсы в инете, на которых обсуждаются проблемы FreeBSD на лаптопах?



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

Re: FreeBSD - Проблема с сетью на Acer Aspire 5315

Сообщение exo »

или самим дрова написать для карты... этож Фря... Изображение
Аватара пользователя
I7@BeJI

Re: FreeBSD - Проблема с сетью на Acer Aspire 5315

Сообщение I7@BeJI »

Цитата I7@BeJI:



Есть ли совместимость с Linux драйверами
FreeBSD - Проблема с сетью на Acer Aspire 5315




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

Re: FreeBSD - Проблема с сетью на Acer Aspire 5315

Сообщение exo »

Поставил 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

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

Re: FreeBSD - Проблема с сетью на Acer Aspire 5315

Сообщение I7@BeJI »

Поставил 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

Re: FreeBSD - Проблема с сетью на Acer Aspire 5315

Сообщение mar »

exo,

это совместимость все-таки не для драйверов

I7@BeJI,

1) а как там в перечисленных строчках определены bge_get_eaddr_mem, bge_get_eaddr_nvram и прочее?

2) я немного запуталась, - у Вас сейчас в результате 6-ая ветка, или 7-ая, или микс?
Аватара пользователя
I7@BeJI

Re: FreeBSD - Проблема с сетью на Acer Aspire 5315

Сообщение I7@BeJI »

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 с этим патчем.
Ответить

Вернуться в «Общий по FreeBSD»