NDIS, ndisgen(8) & Realtek 8185 Wi-Fi

Dan Lukes dan at obluda.cz
Tue Sep 6 18:39:13 CEST 2011


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




More information about the Users-l mailing list