LINUX.ORG.RU

Драйвер последовательного порта


0

0

вечер добрый. такой вот вопрос есть, как выгрузить стандартный драйвер COM-порт. То есть у меня есть свой драйвер который использует тот же адрес 0x03F8 и из функции check_region(PORT_ADDR, PORT_LEN); программы выходит с ошибкой (что очевидно)

anonymous

если штатный собран как модуль, то выгрузить соотв. модуль? в противном случае штатными средствами никак.

// wbr

klalafuda ★☆☆
()
Ответ на: комментарий от aton

> А что пересборка ядра к штатным способам уже не относится? ))

конечно же нет.

// wbr

klalafuda ★☆☆
()

может стоит переделать драйвер так, чтобы он работал через стандартный драйвер? это, имхо, уменьшение размера ядра и кол-ва ошибок

generatorglukoff ★★
()

There are two solutions for this problem. Either you load the LIRC module before the kernel serial port driver is loaded (that's why you have to compile it as a module) or you call setserial /dev/ttySx uart none to release the according port. setserial usually is already called during boot-up in some init script whose location depends on the distribution you use. Be aware that setserial might also be the cause of trouble. The reason for this is a kernel bug (known to be true for 2.2.20, patches are on the way). If you tell setserial to configure a port that is already claimed by a LIRC module, the kernel serial driver will steal the port from the LIRC module and LIRC will stop working. So check your setserial configuration to only configure available ports. Debian users should adjust their /etc/serial.conf.

sdio ★★★★★
()
Ответ на: комментарий от klalafuda

вот этого я как раз и не знаю, ни как не могу найти имя этого модуля, может он действительно реализован не как модуль. А как это проверить вообще?

anonymous
()
Ответ на: комментарий от sdio

то есть если я правильно понял то можно поправить конфиг setserial и он не поднимет порт 0x3f8 который потом смогу использовать я ?

anonymous
()

setserial /dev/ttyS0 uart none вот так вот получилось освободить ранее занимаемый порт (0x3f8) загрузить свой модуль и кинуть сообщение в порт.. )

anonymous
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.