On 09/06/11 11:05, Ivan Dolnák:
V PC mam nainštalované bezdrôtové kartu od CANYON, PCI card CNP-WF511
s chipsetom Realtek 8185.

# ndisgen /root/net8185.inf /root/rtl8185.sys

Dostanem nasledujúcu správu a idem do resetu:

Jen velmi lehce jsme se podival do toho rtl8185.sys a mozna ti usetrim cas.

NDIS prostredi na FreeBSD neimplementuje uplne vsechny funkce Windows jadra. Napriklad neimplementuje funkce pracujici s Windows registry. Vychazi z toho, ze driver, ktery se nedostane k informacim v registry nastartuje v nejakem defaultnim rezimu - coz nevadi, protoze se stejne nasledne kompletne prekonfigurovava ifconfigem.

No a tim se dostavam k jadru sdeleni - juknul jsem do rtl8185.sys a hned prvni vec na kterou jsem narazil bylo:

1. pokusi se ziskat pristup k zaznamu v registry
2. nezkouma, jestli se volani povedlo
3. z vysledku vezme DWORD (ten obsahuje vice-mene nahodnou hodnotu, protoze funkce skoncila chybou a zadne vysledky nenastavila)
4. naalokuje pamet o velikosti toho cisla, ktere prave dostal
5. nezkouma, jestli se mu alokace povedla
6. pamet pouzije

A tohle tam dela nekolikrat po sobe.

Ergo - driver alokuje pamet nahodne velikosti a at se to povede nebo ne, ten pointer pouziva.


Mozna ten "tvuj" pad nenastava prave v tomhle miste, ale i kdyby nastaval jinde a byl to tam resitelny problem, stejne se nakonec dostanes sem - a to uz nevyresis (bez vetsich zasahu do NDIS emulacniho engine).

Ten driver proste psalo prase.

Moje doporuceni tedy zni:

To nerozchodis, porid si jinou kartu, nejlepe nejakou nativne podporovanou.

Dan


--
FreeBSD mailing list ([email protected])
http://www.freebsd.cz/listserv/listinfo/users-l

Odpovedet emailem