Portál AbcLinuxu, 30. dubna 2025 12:43
Kdysi dávno jsem si ke svému Archlinuxu nahrál i FreeBSD 7.0-CURRENT(myslím že jsem o tom napsal i blogpost). Vedla mě k tomu touha poznat i další část světa opensource a UNIX. Tenkrát pro mě bylo hlavní zprovoznit zvuk, nějaký grafický prostředí a hlavně mě zajímalo jak si povede můj CDMA modem.
Tenkrát jsem si splnil všechny své cíle, teda až na jednu drobnost, což bylo to, že mi CDMA jelo maximálně 256kb/s, což mě vedlo k tomu, abych FreeBSD opustil. Jenže ve své povaze mám vlastnost, že strašně nerad prohrávám, a to, že jsem nedokázal ten modem plně zprovoznit, jsem bral jako porážku. V mém minulém zápisku, se ozval Jan Jílek, zda bych mu nepomohl nebo neporadil, jak rozchodit AnyDATA ve FreeBSD. Původně jsem chtěl jen odvětit, že už si to nepamatuju a poslat mu link na diskuzi, kde se to řešilo.
Ale nakonec má touha, porazit tento systém a rozchodit modem na plné obrátky, vyhrála. Tak jsem se do toho pustil a začal stahovat FreeBSD 7.0-CURRENT. Mezi tím, než se mi stáhl iso obraz, jsem si pročítal zdrojové kódy modulu ubsa, umodem a ucom pro FreeBSD a také modulu option, který je použit pro tento modem v linuxu. A jediné čeho jsem si všiml, bylo to, že u linuxového modulu, byli pevně nastaveny hodnoty pro ibufsize a obufsize, a v ubsa.c to bylo získáváno z nějaké struktury. Nechtěl jsem hledat, jak přesně jsou ta data získávána, a tak jsem tam prostě napevno nastavil hodnoty z linuxového modulu. Pro jistotu jsem upravil i umodem.c kde se nacházeli položky IBUFSIZE a OBUFSIZE na ty samé hodnoty jako předtím u ubsa.c. Další nutnou změnou je to, aby byla zajištěna detekce AnyData za pomocí ubsa místo ugen. Toho se docílí úpravou usbdevs(jinak vsechny soubory - usbdevs. ubsa.c, umodem.c - se nachází v /usr/src/sys/dev/usb).
Možností jak upravit usbdevs je více. Buď pro AnyDATA vytvoříte vlastní sekci s jeho VENDOR a PRODUCT hodnotou, a nebo prostě jen vyhledáte sekci OPTION modulů a u jednoho znich přepíšte vendor a product hodnotu(toto řešení není tak čisté a asi bych ho neměl zmiňovat, ale má jednu malou výhodu, a to tu, že pokud pro AnyDAT vytvoříte vlastní sekci, budete muset ještě v ubsa.c také přidat pár řádků, ale pokud nevytvoříte vlastní sekci a jen upravíte hodnoty pro jeden s modemů OPTION, tak už je v ubsa.c potřebná informace uvedena.)
Po všech těchto úpravách jsem, si překompiloval jádro, nastavil správně /etc/ppp.conf, /etc/resolv.conf a /etc/rc.conf restartoval a internet jel. Se zadrženým dechem jsem zkusil rychlost a ona opravdu překročila hranici 256kb/s. Byl jsem děsně rád, že to funguje, a teď vám píšu s FreeBSD + OpenBox + Ohnivá liška.
PS: Toto, není zamýšleno jako návod, a nezaručuji, že je vše správné, dokonce je možné, že by ten modem jel tak rychle i bez některých úprav. Mám v plánu to přes víkend pořádně otestovat, a po testech zveřejním zde na abclinuxu.cz návod.
Tiskni
Sdílej:
HOLLY: To je dobře. Protože by ti mohli pomoci s interpunkcí.
:)
ISSN 1214-1267, (c) 1999-2007 Stickfish s.r.o.