Изменить параллельный источник для работы с /dev/usb/lp0 вместо базового адреса ввода/вывода 0x378

Похоже, ваши репозитории настроены правильно (, за исключением вариантов non-free, но здесь они не имеют значения ), иspice-vdagentдействительно доступен в Debian 9.9.

На основании вашего анализа ошибок apt updateполучается, что отключение записи CD -в ПЗУ позволяет aptобновить удаленные репозитории, а затем найти и установить spice-vdagent.

2
16.05.2021, 23:43
2 ответа

Проще всего было бы создать прокладку в коде. Измените определения OUTPORTи INPORTв rio.cpp, чтобы они указывали на ваши функции переопределения.

Запись на БАЗУ _ПОРТ (0x378 по умолчанию )может быть такой же простой, как запись на эмулируемое устройство USB.

Но чтение данных порта состояния (поступает с устройства на хост по одному кусочку за раз, проверить все подробности в rio.txt )может быть сложнее,поскольку фактический статус параллельного порта может быть (относительно ), интерпретируемый usb-адаптером. И вам еще предстоит выяснить, как получить доступ к порту управления. Адаптеры сделаны для печати, а не для бит -ударов.

Альтернативой может быть карта параллельного порта PCI.

Или добавьте еще один слой, скажем, Arduino и запустите программу ->USB ->Arduino ->Параллельно. Поскольку Arduino будет передавать только байты, в зависимости от того, как вы ее подключите, библиотеки Firmadata может быть достаточно (без программирования на Arduino ). Но даже если это не так, программа, которую вам придется написать для Arduino, будет довольно простой.

Раньше были шилды DB25 для Arduino, может повезет найти. Но Arduino + DB25 breakout будут работать так же хорошо и позволят вам создавать прототипы.

Это было бы мое предложение, прокладка в исходном коде rio для OUTPUTи INPORT, которая связывается с Arduino через USB, который, в свою очередь, считывает/записывает параллельные линии напрямую.

2
28.07.2021, 11:31

Тогда вам, по сути, придется заново реализовать весь коммуникационный стек. То, что вы делаете с контроллером параллельного порта IBM PC, записывая некоторые адреса, просто не работает для контроллера в USB-устройстве — и этот контроллер не является устройством с отображением памяти -.

Честно говоря. :Узнайте, как работает протокол Рио, из кода. Заменить все места, где код напрямую пишет в память контроллера, кодом, который правильно делает с /dev/usb/lp0; это единственный способ. Ядро linux документирует интерфейс lp, так что не так уж и сложно , но вам, вероятно, придется вычислить правильный ioctlсамостоятельно.

Сам этим не пользовался (никогда не нуждался в этом ), но libieee1284 может упростить эту задачу,и легко устанавливается из менеджера пакетов вашей любимой ОС.

Как правило, после того, как вы это сделали, не что многое осталось от существующего кода, глядя на rio.cpp. Этот код просто делает предположения об оборудовании ПК, которые больше не соответствуют действительности. В свою очередь, фактически используя инфраструктуру драйвера порта Linux LP -, вы убедитесь, что одна и та же программа работает на вашем ПК с архитектурой x86, на вашем Linux -с Macbook, на вашем телефоне Android (, предполагая, что ядро ​​​​имеет lp включен, но я действительно мог себе представить, что в этом случае )и ваш RaspberryPi :работает на Linux, а не только на оборудовании IBM PC.

Стоит ли оно того? Возможно нет. MP3-плееры эпохи параллельного -порта звучат ужасно, потому что их чипы не могут даже работать с приемлемым битрейтом MP3 (Вы можете себе представить, что стерео 64 кбит/с когда-то было "высококачественным"? Заставляет меня вздрогнуть. Лучшее, на что способны эти штуки, это 128 кбит/с, что все равно довольно... плохо. ), а также из-за того, что объем внутренней памяти не вмещает звук приемлемого -качества в соответствующих объемах. Не то чтобы вы когда-либо хотели передавать соответствующие объемы данных через параллельный порт!
Они едят батарейки на завтрак, а их пользовательский интерфейс очень примитивен.

Я почти уверен, что вы этого не делаете, потому что это единственный MP3-плеер, который вы можете себе позволить; вы уже приобрели USB-адаптер -LPT, который, как правило, не уступает по цене «новому» MP3-плееру (, даже если он сам по себе довольно устарел ).
Таким образом, вы, вероятно, делаете это по историческим причинам или по причинам ностальгии, так что кто я такой, чтобы судить.

0
28.07.2021, 11:31

Теги

Похожие вопросы