не может инициализировать/обнаружить UART на 16550 А в необычном io адресе порта

В соответствии с Ubuntu или Debian, это просто:

rename 's/Dropkick Murphys - //' *mp3
5
06.07.2012, 22:53
2 ответа

Я не вижу, почему Вы перешли ко всей проблеме для изменения исходного кода ядра для добавления поддержки этого нестандартного последовательного порта I/O и IRQ. setserial(8) программа должна смочь настроить его для Вас. Что-то вроде этого:

# setserial ttyS4 address 0x10 irq 9

См. Linux Последовательное ПРАКТИЧЕСКОЕ РУКОВОДСТВО для получения дополнительной информации.

1
27.01.2020, 20:42
  • 1
    Нет, setserial не работает. Ядро все еще делает ту же автоконфигурацию и сканирующий, как setserial делает. # setserial /dev/ttyS4 port 0x10 irq 9 uart 165 50A ttyS4: LSR safety check engaged! –  Mr Stinky 09.07.2012, 10:32
  • 2
    Нет, setserial не работает. Ядро все еще делает ту же автоконфигурацию и сканирующий, как setserial делает. # setserial /dev/ttyS4 port 0x10 irq 9 uart 165 50A ttyS4: LSR safety check engaged! –  Mr Stinky 09.07.2012, 10:32
  • 3
    Попытка сделать setserial автоконфигурирует сбои с: ttyS4: autoconf (0x0010, 0x (пустой указатель)): тест МНОЖИТЕЛЯ привел к сбою (0f, 0f) type=16550A ttyS4: проверка безопасности LSR занята! ttyS4: проверка безопасности LSR занята! Который является тем, с чем перестало работать ядро также. –  Mr Stinky 09.07.2012, 10:40
  • 4
    Попытка сделать setserial автоконфигурирует сбои с: ttyS4: autoconf (0x0010, 0x (пустой указатель)): тест МНОЖИТЕЛЯ привел к сбою (0f, 0f) type=16550A ttyS4: проверка безопасности LSR занята! ttyS4: проверка безопасности LSR занята! Который является тем, с чем перестало работать ядро также. –  Mr Stinky 09.07.2012, 10:40
  • 5
    Если Вы смотрите в Последовательном ПРАКТИЧЕСКОМ РУКОВОДСТВЕ, я указал на Вас на для "проверки безопасности LSR", Вы находите, что это означает, что нет никакого последовательного порта в том адресе. (Это может также означать, что UART имеет ошибочную реализацию, но это, вероятно, не, что продолжается здесь.) Вы столкнулись с пределами части "Linux" проблемы, таким образом, я предлагаю, чтобы Вы повторно отправили этот вопрос на электронике. SE для преследования частей низкого уровня. Руководство по программированию на странице, на которую Вы указываете, почти бесполезно для ответа на это, но возможно Вы станете удачливыми и найдете кого-то, кто запрограммировал этот SoC прежде. –  Warren Young 09.07.2012, 16:12
  • 6
    я с тех пор получил работу части UART. Теперь я работаю над получением работы части Linux. Мой драйвер включает корректные настройки в Южном мосту теперь, но Linux не связывает/dev/ttyS4 с tty., например. # stty -F /dev/ttyS4 9600 stty: /dev/ttyS4: Input/output error –  Mr Stinky 09.07.2012, 17:05
  • 7
    Только добавить. Linux обнаруживает мой COM9 как ttyS4 в dmesg., например. serial8250.11: ttyS4 at I/O 0x10 (irq = 9) is a 16550A. udev/mdev автоматически создаст узел для него в/dev. Так AFAIK ядро знает об этом узле, но это, кажется, не работает tty устройством. например. # picocom -b 9600 /dev/ttyS4 ... FATAL: failed to add device /dev/ttyS4: Filedes is not a tty. Возможно в моем драйвере существует проблема, но все это выглядит довольно прямым, как я, как предполагается, добавляю основные 8 250 совместимых устройств. спасибо –  Mr Stinky 09.07.2012, 17:17

Кажется, что или BIOS или Linux отключают порт COM9 в регистрах Южного моста.

Регистры:

  • "Внутренний Регистр управления UART9" должен быть сброшен к его значению по умолчанию: 0x00810010
  • "Регистр Управления устройствами на микросхеме" должен иметь бит 9 очищенных, чтобы повторно включить COM9.

Я не знаю, почему или где они отключены.

Когда я установил их на нормальные значения в моем драйвере устройства, я смог обнаружить COM9 UART.

Linux требует нового x86 типа микросхемы для Vortex86DX. Это не на 100% совместимо.

1
27.01.2020, 20:42

Теги

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