Fórum Root.cz
Hlavní témata => Vývoj => Téma založeno: Teodor 05. 07. 2016, 11:51:19
-
Zdravim,
potřebuju pomoct s rozšířením kernelu o modul.
Může mi tu někdo popsat princip/poslat link s jednoduchým příkladem jak na to?
Díky.
-
Obávám se, že vytvářet moduly kernelu není úplně jednoduchá věc, jak si myslíte. Pokud to ale myslíte vážně, můžete začít např. tady:
http://www.tldp.org/LDP/lkmpg/2.6/html/lkmpg.html
1. se učit
2. se učit
3. se učit
-
Obávám se, že vytvářet moduly kernelu není úplně jednoduchá věc, jak si myslíte. Pokud to ale myslíte vážně, můžete začít např. tady:
http://www.tldp.org/LDP/lkmpg/2.6/html/lkmpg.html
1. se učit
2. se učit
3. se učit
Nechce spis pan kolega jen pridat do kernelu uz existujici modul? Otazka je pravda trochu nejasna, ale ja bych na to programovani vlastniho modulu moc nevidel.
Takze moje odpoved je: https://www.google.cz/search?client=opera&q=kernel+insert+module&sourceid=opera&ie=UTF-8&oe=UTF-8
-
Obávám se, že vytvářet moduly kernelu není úplně jednoduchá věc, jak si myslíte. Pokud to ale myslíte vážně, můžete začít např. tady:
http://www.tldp.org/LDP/lkmpg/2.6/html/lkmpg.html
1. se učit
2. se učit
3. se učit
Nechce spis pan kolega jen pridat do kernelu uz existujici modul? Otazka je pravda trochu nejasna, ale ja bych na to programovani vlastniho modulu moc nevidel.
Takze moje odpoved je: https://www.google.cz/search?client=opera&q=kernel+insert+module&sourceid=opera&ie=UTF-8&oe=UTF-8
Abych řekl pravdu, tak jsem také váhal, jestli nechce jen loadnout modul, ale nakonec jsem to vyhodnotil takto. Každopádně v mnou odkazovaném dokumentu se dočte obojí :-)
-
Lukáš Jelínek: Jádro systému Linux by mohla být knížka k tématu.
-
Lukáš Jelínek: Jádro systému Linux by mohla být knížka k tématu.
Jj, po té jsem dnes už koukal, jenže je vyprodaná. takže snad antiky? :(
-
A nakoniec bude chciet len skompilovat modul, ktory nebol zakompilovany v jeho zostave :D
1. stiahnut zdrojaky a pripravit prostredie
2. rozbalit zdrojaky a editovat .config
3. skompilovat kernel
4. skompilovat moduly
5. nasypat to do systemu
Jasne exisuju rozne navody pre konkretne distribucie, ale tu autor neuvadza.
-
Obávám se, že vytvářet moduly kernelu není úplně jednoduchá věc, jak si myslíte. Pokud to ale myslíte vážně, můžete začít např. tady:
http://www.tldp.org/LDP/lkmpg/2.6/html/lkmpg.html
1. se učit
2. se učit
3. se učit
Nechce spis pan kolega jen pridat do kernelu uz existujici modul? Otazka je pravda trochu nejasna, ale ja bych na to programovani vlastniho modulu moc nevidel.
Takze moje odpoved je: https://www.google.cz/search?client=opera&q=kernel+insert+module&sourceid=opera&ie=UTF-8&oe=UTF-8
Abych řekl pravdu, tak jsem také váhal, jestli nechce jen loadnout modul, ale nakonec jsem to vyhodnotil takto. Každopádně v mnou odkazovaném dokumentu se dočte obojí :-)
No, podle prvního příkladu mi gcc hlásí tuhle hlášku:
make: uname-r: Command not found
make -C /lib/modules//build M=/home/teodor/Plocha/pokus modules
make: *** /lib/modules//build: Adresář nebo soubor neexistuje. Stop.
make: *** [all] Error 2
Kde dělám chybu?
Jinak ano, jde o to napsat si svuj vlastní modul pro HW komunikační převodník. Mne jde jen o to, pochopit princip na jednoduchém příkladu a vyvarovat se chyb...
-
A nakoniec bude chciet len skompilovat modul, ktory nebol zakompilovany v jeho zostave :D
1. stiahnut zdrojaky a pripravit prostredie
2. rozbalit zdrojaky a editovat .config
3. skompilovat kernel
4. skompilovat moduly
5. nasypat to do systemu
Jasne exisuju rozne navody pre konkretne distribucie, ale tu autor neuvadza.
Jo, jednalo se o binárky k HW komunikačnímu převodníku kde nebyl soubor config, celý to výrobce neskutečně sprasil. Takže tohle je jediná možnost. Jinak distro je linux Mint 17.3 Rossa a verze KERNELu je 3.19.0
-
No, podle prvního příkladu mi gcc hlásí tuhle hlášku:
make: uname-r: Command not found
Pokud nerozumíte ani této hlášce (příkaz nenalezen), mám obavu, že se pouštíte do něčeho, na co nemáte.
make -C /lib/modules//build M=/home/teodor/Plocha/pokus modules
make: *** /lib/modules//build: Adresář nebo soubor neexistuje. Stop.
Chybí vám hlavičkové soubory jádra popř. zdroják jádra. Logicky pokud chcete kompilovat, musíte mít zdrojáky/hlavičky. Tohle patří k základním znalostem.
make: *** [all] Error 2
Kde dělám chybu?
V tom, že neposloucháte rady... Dostal jste 3:
1. se učit
2. se učit
3. se učit
Ani jednu jste neposlechl :). Neumíte ani kompilovat, nevíte, že potřebujte dev balíčky, hlavičkové soubory ap. a už chcete dělat vlastní modul do jádra. Opravdu se vám to zdá dobrý nápad?
Jinak ano, jde o to napsat si svuj vlastní modul pro HW komunikační převodník. Mne jde jen o to, pochopit princip na jednoduchém příkladu a vyvarovat se chyb...
No moc se vám vyvarovat chyb nedaří. Nejdříve si nastudujte základní věci a pak se pouštějte do složitých věcí.
-
Chybí vám hlavičkové soubory jádra popř. zdroják jádra. Logicky pokud chcete kompilovat, musíte mít zdrojáky/hlavičky. Tohle patří k základním znalostem.
Ve skutečnosti blbě opsal Makefile (to člověk nezkopíruje? :)) a napsal uname-r místo uname -r. Ale souhlasím, že tohle půjde těžko. Doporučil bych se nejdřív naučit Linux používat, k tomu poslouží například prvních 600 stránek knihy Linux - Dokumentační projekt a potom spousta praxe. Ano, zní to asi hnusně, ale psát jaderné drivery fakt není triviální.
Jinak ano, jde o to napsat si svuj vlastní modul pro HW komunikační převodník. Mne jde jen o to, pochopit princip na jednoduchém příkladu a vyvarovat se chyb...
Nešlo by to udělat v userspace? Podle toho, co to používá za rozhraní, například přes libusb nebo nějaký podobný wrapper.
-
len tak pre info, neslo by sa dozvediet co za exoticky HW prevodnik to je?
-
len tak pre info, neslo by sa dozvediet co za exoticky HW prevodnik to je?
Moxa 5450.
-
Chybí vám hlavičkové soubory jádra popř. zdroják jádra. Logicky pokud chcete kompilovat, musíte mít zdrojáky/hlavičky. Tohle patří k základním znalostem.
Ve skutečnosti blbě opsal Makefile (to člověk nezkopíruje? :)) a napsal uname-r místo uname -r. Ale souhlasím, že tohle půjde těžko. Doporučil bych se nejdřív naučit Linux používat, k tomu poslouží například prvních 600 stránek knihy Linux - Dokumentační projekt a potom spousta praxe. Ano, zní to asi hnusně, ale psát jaderné drivery fakt není triviální.
Jinak ano, jde o to napsat si svuj vlastní modul pro HW komunikační převodník. Mne jde jen o to, pochopit princip na jednoduchém příkladu a vyvarovat se chyb...
Nešlo by to udělat v userspace? Podle toho, co to používá za rozhraní, například přes libusb nebo nějaký podobný wrapper.
Dobrý, už se to rozběhlo, chyba byla v uname -r. Nevšiml jsem si toho předtím. Mne se to stává často, že si nevšimnu těchto odsazení
-
testmodule.c
#include <linux/module.h>
MODULE_LICENSE("GPL");
static void __exit testmodule_exit(void)
{
printk(KERN_DEBUG "testmodule removed\n");
return;
}
static int __init testmodule_init(void)
{
printk(KERN_DEBUG "testmodule loaded\n");
return 0;
}
module_exit(testmodule_exit);
module_init(testmodule_init);
Makefile
ifneq ($(KERNELRELEASE),)
obj-m += testmodule.o
else
KERNELDIR ?= /lib/modules/$(shell uname -r)/build
PWD := $(shell pwd)
default:
$(MAKE) -C $(KERNELDIR) M=$(PWD)
clean:
$(MAKE) -C $(KERNELDIR) M=$(PWD) clean
endif
Hodně štěstí. Hlavně ten modul piště v nějakém virtuálu, jinak to v životě pořádně neodladíte a můžete si kvůli tomu usmrtit produkční stroj. Mimochodem, fakt je nutné to řešit jadeným modulem a ne nějakým programem pro userspace?
-
No, podle prvního příkladu mi gcc hlásí tuhle hlášku:
make: uname-r: Command not found
Pokud nerozumíte ani této hlášce (příkaz nenalezen), mám obavu, že se pouštíte do něčeho, na co nemáte.
make -C /lib/modules//build M=/home/teodor/Plocha/pokus modules
make: *** /lib/modules//build: Adresář nebo soubor neexistuje. Stop.
Chybí vám hlavičkové soubory jádra popř. zdroják jádra. Logicky pokud chcete kompilovat, musíte mít zdrojáky/hlavičky. Tohle patří k základním znalostem.
make: *** [all] Error 2
Kde dělám chybu?
V tom, že neposloucháte rady... Dostal jste 3:
1. se učit
2. se učit
3. se učit
Ani jednu jste neposlechl :). Neumíte ani kompilovat, nevíte, že potřebujte dev balíčky, hlavičkové soubory ap. a už chcete dělat vlastní modul do jádra. Opravdu se vám to zdá dobrý nápad?
Jinak ano, jde o to napsat si svuj vlastní modul pro HW komunikační převodník. Mne jde jen o to, pochopit princip na jednoduchém příkladu a vyvarovat se chyb...
No moc se vám vyvarovat chyb nedaří. Nejdříve si nastudujte základní věci a pak se pouštějte do složitých věcí.
V pohodě, chybu jsem měl v odsazení uname -r ;) Tak se zase můžeme držet tématu.
-
testmodule.c
#include <linux/module.h>
MODULE_LICENSE("GPL");
static void __exit testmodule_exit(void)
{
printk(KERN_DEBUG "testmodule removed\n");
return;
}
static int __init testmodule_init(void)
{
printk(KERN_DEBUG "testmodule loaded\n");
return 0;
}
module_exit(testmodule_exit);
module_init(testmodule_init);
Makefile
ifneq ($(KERNELRELEASE),)
obj-m += testmodule.o
else
KERNELDIR ?= /lib/modules/$(shell uname -r)/build
PWD := $(shell pwd)
default:
$(MAKE) -C $(KERNELDIR) M=$(PWD)
clean:
$(MAKE) -C $(KERNELDIR) M=$(PWD) clean
endif
Hodně štěstí. Hlavně ten modul piště v nějakém virtuálu, jinak to v životě pořádně neodladíte a můžete si kvůli tomu usmrtit produkční stroj. Mimochodem, fakt je nutné to řešit jadeným modulem a ne nějakým programem pro userspace?
Díky, už se mi to povedlo rozběhnout, neměl jsem správně odsazený uname -r.
No, těžko říct, stáhl jsem si zdrojáky, které jsem chtěl zkompilovat přes svatou trojici, nicméně to nejde, protože výrobce to sprasil.
Takže jediná varianta je napsat si svuj modul pro HW převodník. Usmrcení stroje? No, dobrá noční můra..Zatím používám svůj soukromý laptop.
-
A nebylo by jednodušší ten modul od výrobce opravit, než to psát celé od píky? V Mintu je možná novější jádro, než se kterým výrobce počítal a protože Linux nemá stabilní jaderné API, mohlo se v novějším jádře něco změnit a modul kvůli tomu nejde buildnout. Rozjet existující modul dá mnohonásobně méně práce, než ho vymýšlet celý odznovu.
-
A nebylo by jednodušší ten modul od výrobce opravit, než to psát celé od píky? V Mintu je možná novější jádro, než se kterým výrobce počítal a protože Linux nemá stabilní jaderné API, mohlo se v novějším jádře něco změnit a modul kvůli tomu nejde buildnout. Rozjet existující modul dá mnohonásobně méně práce, než ho vymýšlet celý odznovu.
Jj, to si taky myslím, že je to verzí jádra. Protože výrobce zdrojáky uvolnil už v roce 2012.
No, to je ta lehčí varianta o kterou se pokusím ve čtvrtek upravit původní kódy od výrobce, horší varianta je si to napsat sám.
Já se přiznám, že tohle je pro mne nová věc, po šesti letech v Linuxu, tohle dělám poprvé, ještě chybí začít kompilovat KERNEL...
-
No, těžko říct, stáhl jsem si zdrojáky, které jsem chtěl zkompilovat přes svatou trojici, nicméně to nejde, protože výrobce to sprasil.
A nechybí tam jenom configure/makefile třeba proto, že to vyžaduje autotools/cmake?
-
A proc to nejde? Nejake hlasky?
-
No, těžko říct, stáhl jsem si zdrojáky, které jsem chtěl zkompilovat přes svatou trojici, nicméně to nejde, protože výrobce to sprasil.
A nechybí tam jenom configure/makefile třeba proto, že to vyžaduje autotools/cmake?
autotools/cmake je co??
No, v readme se o tom nezmiňují.
Já sem klidně postnu kód Makefile nebo co bude potřeba?
-
A proc to nejde? Nejake hlasky?
Většina hlášek směrovala k souborům include, nemohlo si to najít cestu.
další bylo pak k pointrům v kódu.
Ovšem jen u jednoho souboru, ten když jsem skompiloval solo, tak chtěl jen dva icnlude soubory.
-
No, těžko říct, stáhl jsem si zdrojáky, které jsem chtěl zkompilovat přes svatou trojici, nicméně to nejde, protože výrobce to sprasil.
A nechybí tam jenom configure/makefile třeba proto, že to vyžaduje autotools/cmake?
autotools/cmake je co??
No, v readme se o tom nezmiňují.
Já sem klidně postnu kód Makefile nebo co bude potřeba?
Co takhle poslat celý tarball se zdrojákem?
-
No, těžko říct, stáhl jsem si zdrojáky, které jsem chtěl zkompilovat přes svatou trojici, nicméně to nejde, protože výrobce to sprasil.
A nechybí tam jenom configure/makefile třeba proto, že to vyžaduje autotools/cmake?
autotools/cmake je co??
No, v readme se o tom nezmiňují.
Já sem klidně postnu kód Makefile nebo co bude potřeba?
Co takhle poslat celý tarball se zdrojákem?
Rád, ovšem uniklo mi jak sem dostat přílohu...
-
Stačí poslat odkaz, my si to stáhnout dovedeme sami:)
-
No, těžko říct, stáhl jsem si zdrojáky, které jsem chtěl zkompilovat přes svatou trojici, nicméně to nejde, protože výrobce to sprasil.
A nechybí tam jenom configure/makefile třeba proto, že to vyžaduje autotools/cmake?
autotools/cmake je co??
No, v readme se o tom nezmiňují.
Já sem klidně postnu kód Makefile nebo co bude potřeba?
Co takhle poslat celý tarball se zdrojákem?
Rád, ovšem uniklo mi jak sem dostat přílohu...
To je dneska mládež, ani neví, jak se na lopatě sedí! :-D
-
Stačí poslat odkaz, my si to stáhnout dovedeme sami:)
http://www.moxa.com/support/sarch_result.aspx?type=soft&prod_id=54&type_id=9 (http://www.moxa.com/support/sarch_result.aspx?type=soft&prod_id=54&type_id=9)
Je to verze Linux 3.x x86.
-
No, těžko říct, stáhl jsem si zdrojáky, které jsem chtěl zkompilovat přes svatou trojici, nicméně to nejde, protože výrobce to sprasil.
A nechybí tam jenom configure/makefile třeba proto, že to vyžaduje autotools/cmake?
autotools/cmake je co??
No, v readme se o tom nezmiňují.
Já sem klidně postnu kód Makefile nebo co bude potřeba?
Co takhle poslat celý tarball se zdrojákem?
Rád, ovšem uniklo mi jak sem dostat přílohu...
To je dneska mládež, ani neví, jak se na lopatě sedí! :-D
jo, trochu jsem zaspal :D
-
Len pre info ja som narazil na https://github.com/rchovan/npreal2 tak sa zda ze sa v tom niekto uz vrtal ver1.18.33 Build 14060316
-
Stačí poslat odkaz, my si to stáhnout dovedeme sami:)
http://www.moxa.com/support/sarch_result.aspx?type=soft&prod_id=54&type_id=9 (http://www.moxa.com/support/sarch_result.aspx?type=soft&prod_id=54&type_id=9)
Je to verze Linux 3.x x86.
A jéje, Moxa.
Pomůže novější neoficiální build a patch pro jádra > 3.8 z téhle stránky?
https://www.rene-schwarz.com/web/Blog:EN/Using_Moxa_NPort_5450_Serial_to_IP_Server_with_Linux_Kernel_Version_3.8.0_(tested_with_Ubuntu_13.04) (https://www.rene-schwarz.com/web/Blog:EN/Using_Moxa_NPort_5450_Serial_to_IP_Server_with_Linux_Kernel_Version_3.8.0_(tested_with_Ubuntu_13.04))
-
Stačí poslat odkaz, my si to stáhnout dovedeme sami:)
http://www.moxa.com/support/sarch_result.aspx?type=soft&prod_id=54&type_id=9 (http://www.moxa.com/support/sarch_result.aspx?type=soft&prod_id=54&type_id=9)
Je to verze Linux 3.x x86.
A jéje, Moxa.
Pomůže novější neoficiální build a patch pro jádra > 3.8 z téhle stránky?
https://www.rene-schwarz.com/web/Blog:EN/Using_Moxa_NPort_5450_Serial_to_IP_Server_with_Linux_Kernel_Version_3.8.0_(tested_with_Ubuntu_13.04) (https://www.rene-schwarz.com/web/Blog:EN/Using_Moxa_NPort_5450_Serial_to_IP_Server_with_Linux_Kernel_Version_3.8.0_(tested_with_Ubuntu_13.04))
Podívám se na to zítra a napíšu.
-
Stiahni si poslednu neoficialnu verziu z toho ruskeho fora (1.18.45) , ktora by mala fungovat.
Ak je to nova moxa, tak ta poprosim otravuj dodavatela, ze to nefunguje aby sa to oficialne vyriesilo.
Chystam sa moxu znovu kontaktovat a tak nech je nas viacej.
Mam s tym podobne problemy a chvilu sa s tym slovensky distributor zaoberal. Kontaktoval som priamo moxu a oni to preniesli nanho. Cez distributora som dostal od vyrobcu niekolko testovacich verzii a potom nic.
Ten neoficialny build z ruskeho fora obsahuje opravy vsetkych mnou nahlasenych chyb ale neviem preco ho nevidali oficialne. Ja som s tym bojoval na Debiane Wheezy a podarilo sa mi to rozbehnut aj s tym starym oficialnym driverom.
p.s.
Je to fakt katastrofalny driver.
-
Stiahni si poslednu neoficialnu verziu z toho ruskeho fora (1.18.45) , ktora by mala fungovat.
Ak je to nova moxa, tak ta poprosim otravuj dodavatela, ze to nefunguje aby sa to oficialne vyriesilo.
Chystam sa moxu znovu kontaktovat a tak nech je nas viacej.
Mam s tym podobne problemy a chvilu sa s tym slovensky distributor zaoberal. Kontaktoval som priamo moxu a oni to preniesli nanho. Cez distributora som dostal od vyrobcu niekolko testovacich verzii a potom nic.
Ten neoficialny build z ruskeho fora obsahuje opravy vsetkych mnou nahlasenych chyb ale neviem preco ho nevidali oficialne. Ja som s tym bojoval na Debiane Wheezy a podarilo sa mi to rozbehnut aj s tym starym oficialnym driverom.
p.s.
Je to fakt katastrofalny driver.
Díky, já se na to za chvilku vrhnu, pak sem napíšu co vim nebo nevim u toho.
No, já to dostal jako první pracovní úkol ve firmě, nicméně i šéf na to koukal jak z jara a řekl, že větší prasečinu neviděl..
Proto nás napadlo napsat si vlastní modul pro ten převodník, což by pro mne byla novota.
-
Stiahni si poslednu neoficialnu verziu z toho ruskeho fora (1.18.45) , ktora by mala fungovat.
Ak je to nova moxa, tak ta poprosim otravuj dodavatela, ze to nefunguje aby sa to oficialne vyriesilo.
Chystam sa moxu znovu kontaktovat a tak nech je nas viacej.
Mam s tym podobne problemy a chvilu sa s tym slovensky distributor zaoberal. Kontaktoval som priamo moxu a oni to preniesli nanho. Cez distributora som dostal od vyrobcu niekolko testovacich verzii a potom nic.
Ten neoficialny build z ruskeho fora obsahuje opravy vsetkych mnou nahlasenych chyb ale neviem preco ho nevidali oficialne. Ja som s tym bojoval na Debiane Wheezy a podarilo sa mi to rozbehnut aj s tym starym oficialnym driverom.
p.s.
Je to fakt katastrofalny driver.
Jo to je, nechápu proč nejsou schopní udržovat aktuální zdrojáky.
-
Stiahni si poslednu neoficialnu verziu z toho ruskeho fora (1.18.45) , ktora by mala fungovat.
Ak je to nova moxa, tak ta poprosim otravuj dodavatela, ze to nefunguje aby sa to oficialne vyriesilo.
Chystam sa moxu znovu kontaktovat a tak nech je nas viacej.
Mam s tym podobne problemy a chvilu sa s tym slovensky distributor zaoberal. Kontaktoval som priamo moxu a oni to preniesli nanho. Cez distributora som dostal od vyrobcu niekolko testovacich verzii a potom nic.
Ten neoficialny build z ruskeho fora obsahuje opravy vsetkych mnou nahlasenych chyb ale neviem preco ho nevidali oficialne. Ja som s tym bojoval na Debiane Wheezy a podarilo sa mi to rozbehnut aj s tym starym oficialnym driverom.
p.s.
Je to fakt katastrofalny driver.
Jo to je, nechápu proč nejsou schopní udržovat aktuální zdrojáky.
Protože by museli vydávat novou verzi skoro pokaždé, když vyjde nové jádro. Skutečně funkční out-of-tree jaderný modul má snad jenom nVidia, ostatní spoléhají buď na komunitní patche (proto taky máme ten open source) nebo podporují jen jádra z LTS distribucí. Ten oficiální ovladač vznikl ještě v dobách jádra 2.4, pro zahrnutí podpory od všeho až po poslední jádro 4.7 by tam musely být pro každý třetí řádek aspoň tři ifdefy.
Letmo jsem na to mrknul a rozjet to na novějším jádře by asi takový problém nebyl, největší chaos tam dělá použití zastaralé funkce allocate_tty_driver(), místo které se má použít tty_alloc_driver(). Musel by ses asi mrknout na nějaký tty ovladač z jádra, abys přišel na to, co je třeba upravit.
-
Stiahni si poslednu neoficialnu verziu z toho ruskeho fora (1.18.45) , ktora by mala fungovat.
Ak je to nova moxa, tak ta poprosim otravuj dodavatela, ze to nefunguje aby sa to oficialne vyriesilo.
Chystam sa moxu znovu kontaktovat a tak nech je nas viacej.
Mam s tym podobne problemy a chvilu sa s tym slovensky distributor zaoberal. Kontaktoval som priamo moxu a oni to preniesli nanho. Cez distributora som dostal od vyrobcu niekolko testovacich verzii a potom nic.
Ten neoficialny build z ruskeho fora obsahuje opravy vsetkych mnou nahlasenych chyb ale neviem preco ho nevidali oficialne. Ja som s tym bojoval na Debiane Wheezy a podarilo sa mi to rozbehnut aj s tym starym oficialnym driverom.
p.s.
Je to fakt katastrofalny driver.
Jo to je, nechápu proč nejsou schopní udržovat aktuální zdrojáky.
Protože by museli vydávat novou verzi skoro pokaždé, když vyjde nové jádro. Skutečně funkční out-of-tree jaderný modul má snad jenom nVidia, ostatní spoléhají buď na komunitní patche (proto taky máme ten open source) nebo podporují jen jádra z LTS distribucí. Ten oficiální ovladač vznikl ještě v dobách jádra 2.4, pro zahrnutí podpory od všeho až po poslední jádro 4.7 by tam musely být pro každý třetí řádek aspoň tři ifdefy.
Letmo jsem na to mrknul a rozjet to na novějším jádře by asi takový problém nebyl, největší chaos tam dělá použití zastaralé funkce allocate_tty_driver(), místo které se má použít tty_alloc_driver(). Musel by ses asi mrknout na nějaký tty ovladač z jádra, abys přišel na to, co je třeba upravit.
No, jak jsem psal výše, pro mne je tohle absolutní novota.
Teď se jdu mrknout na ty věci z ruskýho webu a pak zase začnu smolit dotazy.
-
Stačí poslat odkaz, my si to stáhnout dovedeme sami:)
http://www.moxa.com/support/sarch_result.aspx?type=soft&prod_id=54&type_id=9 (http://www.moxa.com/support/sarch_result.aspx?type=soft&prod_id=54&type_id=9)
Je to verze Linux 3.x x86.
A jéje, Moxa.
Pomůže novější neoficiální build a patch pro jádra > 3.8 z téhle stránky?
https://www.rene-schwarz.com/web/Blog:EN/Using_Moxa_NPort_5450_Serial_to_IP_Server_with_Linux_Kernel_Version_3.8.0_(tested_with_Ubuntu_13.04) (https://www.rene-schwarz.com/web/Blog:EN/Using_Moxa_NPort_5450_Serial_to_IP_Server_with_Linux_Kernel_Version_3.8.0_(tested_with_Ubuntu_13.04))
Teď na to koukám, a jdu to sosnout.
-
Paráda, instalováno.
Moc díky!
Nicméně psaní jaderných modulů se stejně rád naučím :)