Jump to content

jakushev

Members
  • Content Count

    8
  • Joined

  • Last visited

    Never

Posts posted by jakushev


  1. Сейчас проверил на Федоре 12 на другом компьютере, там ядро 2.6.31.5. Тоже самое. Может быть есть возможность перенаправить slattach в файл, чтоб отделить зерна от плевил? Сейчас попробую, но не думаю, что это получится...


  2. Извиняюсь, не все сообщения послал. Попробовал noapic, микросхема портов подцепилась на 5 прерывание, терминалы нормально работают. И ошибка никуда не делась:(

    SLIP: version 0.8.4-NET3.019-NEWTTY (dynamic channels, max=256).

    CSLIP: code copyright 1989 Regents of the University of California.

    SLIP linefill/keepalive option.

    ------------[ cut here ]------------

    WARNING: at net/sched/sch_generic.c:256 dev_watchdog+0xf5/0x197()

    Hardware name: GA-MA74GM-S2

    NETDEV WATCHDOG: sl0 (): transmit queue 0 timed out

    Modules linked in: slip slhc fuse ebtable_nat ebtables ipt_MASQUERADE iptable_nat nf_nat bridge stp llc sunrpc xt_physdev ip6t_REJECT nf_conntrack_ipv6 ip6table_filter ip6_tables ipv6 vboxnetadp vboxnetflt vboxdrv kvm_amd kvm uinput r8169 ppdev mii edac_core edac_mce_amd k10temp parport_pc shpchp parport microcode i2c_piix4 pata_acpi ata_generic pata_atiixp radeon ttm drm_kms_helper drm i2c_algo_bit i2c_core [last unloaded: freq_table]

    Pid: 0, comm: swapper Not tainted 2.6.34.6-47.fc13.x86_64 #1

    Call Trace:

    <IRQ> [<ffffffff8104d12f>] warn_slowpath_common+0x7c/0x94

    [<ffffffff8104d19e>] warn_slowpath_fmt+0x41/0x43

    [<ffffffff813ba06f>] ? netif_tx_lock+0x44/0x6d

    [<ffffffff813ba18d>] dev_watchdog+0xf5/0x197

    [<ffffffff8106b22d>] ? sched_clock_local+0x1c/0x82

    [<ffffffff8105920c>] ? internal_add_timer+0xcf/0xd1

    [<ffffffff810592db>] ? cascade+0x6a/0x86

    [<ffffffff810594b6>] run_timer_softirq+0x1bf/0x263

    [<ffffffff8106e3d7>] ? ktime_get+0x65/0xbe

    [<ffffffff81053265>] __do_softirq+0xe5/0x1a6

    [<ffffffff810726b0>] ? tick_program_event+0x2a/0x2c

    [<ffffffff8100ab5c>] call_softirq+0x1c/0x30

    [<ffffffff8100c342>] do_softirq+0x46/0x83

    [<ffffffff810530d6>] irq_exit+0x3b/0x7d

    [<ffffffff814529f0>] smp_apic_timer_interrupt+0x8d/0x9b

    [<ffffffff8100a613>] apic_timer_interrupt+0x13/0x20

    <EOI> [<ffffffff8102a615>] ? native_safe_halt+0xb/0xd

    [<ffffffff810115a5>] default_idle+0x36/0x53

    [<ffffffff810116bd>] c1e_idle+0xfb/0x102

    [<ffffffff81008c22>] cpu_idle+0xaa/0xe4

    [<ffffffff8144597e>] start_secondary+0x253/0x294

    ---[ end trace c6c9eb803300da35 ]---

    sl0: transmit timed out, bad line quality?

    sl0: transmit timed out, bad line quality?

    sl0: transmit timed out, bad line quality?


  3. После slattach -L -p slip -s 9600 /dev/ttyS1 &

    Ядро:

    SLIP: version 0.8.4-NET3.019-NEWTTY (dynamic channels, max=256).

    CSLIP: code copyright 1989 Regents of the University of California.

    SLIP linefill/keepalive option.

    Далее поднимаю sl0:

    ifconfig sl0 192.168.0.10 pointopoint 192.168.0.20 up

    ifconfig sl0

    sl0 Link encap:Serial Line IP

    inet addr:192.168.0.10 P-t-P:192.168.0.20 Mask:255.255.255.255

    UP POINTOPOINT RUNNING NOARP MULTICAST MTU:296 Metric:1

    RX packets:0 errors:0 dropped:0 overruns:0 frame:0

    TX packets:0 errors:0 dropped:0 overruns:0 carrier:0

    collisions:0 txqueuelen:10

    RX bytes:0 (0.0 B) TX bytes:0 (0.0 B)

    Вроде все нормально...

    Далее пингую:

    ping -c3 192.168.0.20

    PING 192.168.0.20 (192.168.0.20) 56(84) bytes of data.

    --- 192.168.0.20 ping statistics ---

    3 packets transmitted, 0 received, 100% packet loss, time 11999ms

    Понятно, что ничего нет в ответ, так как /dev/ttyS2 у меня на терминале. Но и на терминале ничего не вижу.

    Пока идет пинг, по таймауту вылезают следующие сообщения ядра:

    [root@mainpc all]# dmesg | tail -n 11

    [<ffffffff814529f0>] smp_apic_timer_interrupt+0x8d/0x9b

    [<ffffffff8100a613>] apic_timer_interrupt+0x13/0x20

    <EOI> [<ffffffff8102a615>] ? native_safe_halt+0xb/0xd

    [<ffffffff810115a5>] default_idle+0x36/0x53

    [<ffffffff810116bd>] c1e_idle+0xfb/0x102

    [<ffffffff81008c22>] cpu_idle+0xaa/0xe4

    [<ffffffff8144597e>] start_secondary+0x253/0x294

    ---[ end trace 976e326b52916c58 ]---

    sl0: transmit timed out, bad line quality?

    sl0: transmit timed out, bad line quality?

    sl0: transmit timed out, bad line quality?

    apic отключать, думаю, плохая идея. Многоядерная конфигурация. Но, ща попробую. Порты работают. между двумя терминалами связь есть.

    Если я правильно понимаю, ядро должно "обрамить" IP пакет в SLIP пакет и передать на нужный порт.

    Платка с портами следующая: 03:06.0 Serial controller: NetMos Technology PCI 9835 Multi-I/O Controller (rev 01)

    При работе с портом на материнке, ситуация аналогичная...


  4. С модулем я разобрался. Нормально подгружается по необходимости и заранее вручную. И процесс его подхватывает. Ядро сейчас текущее 2.6.33.8. Попробовал на медиацентре, там 12 Федора стоит. Ядро 2.6.31.5 Никаких ошибок аналогичные действия не вызывают. Правда, порт наружу не выведен и всего один. Надо за паяльник браться и проводами запасаться. Жалко, что осциллоскопа в наличии дома сейчас нет. Проще было бы проверить... Уважаемый AccessD, если Вам не сложно, не могли бы Вы проверить на совей системе последовательность, вызывающую ошибку:

    slattach -L -p slip -s 115200 /dev/ttyS0 &

    ifconfig sl0 192.168.0.10 pointopoint 192.168.0.20 up

    ping -c4 192.168.0.20

    Ошибка ядра появляется где то через минуту после пинга...

    От ttySx и IP адресов это не зависит. Заранее благодарен.


  5. Попробовал подгрузить модуль slip до slattach

    modprobe slip

    Все загрузилось, lsmod отображает его.

    После выполнения slattach счетчик использования модуля увеличился на 1. Вроде, все как положенно. Но, все равно, конфигурю сеть, пингую 1 пакетом. Гдето через минуту появляется ошибка ядра:(


  6. Попробовал. Странная ситуация. slattach прогружается в дебаге и встает как вкопанный:

    [1]+ Stopped man slattach

    [root@mainpc all]# slattach -d -L -p slip -s 115200 /dev/ttyS1

    slattach: tty_open: looking for lock

    slattach: tty_open: trying to open /dev/ttyS1

    slattach: tty_open: /dev/ttyS1 (fd=3) slattach: tty_set_speed: 115200

    slattach: tty_set_databits: 8

    slattach: tty_set_stopbits: 1

    slattach: tty_set_parity: N

    slip started on /dev/ttyS1 interface sl0

    Далее конфигурю сеть:

    [root@mainpc all]# ifconfig sl0 192.168.0.10 pointopoint 192.168.0.20 up

    и пытаюсь пропинговать:

    [root@mainpc all]# ping -c3 192.168.0.20

    PING 192.168.0.20 (192.168.0.20) 56(84) bytes of data.

    --- 192.168.0.20 ping statistics ---

    3 packets transmitted, 0 received, 100% packet loss, time 11999ms

    И тут начинается интересная вещичка. После того, как ping отработал, просматриваю состояние сети. Количество переданных данных по sl0 увеличиваются в течении нескольких секунд, достигая 252 (как раз передача 3х пинговых пакетов). К тому же появляется ошибка ядра:

    Package: kernel

    Latest Crash: Вск 29 Авг 2010 17:53:31

    Command: not_applicable

    Reason: WARNING: at net/sched/sch_generic.c:255 dev_watchdog+0xf0/0x192()

    Comment: None

    Bug Reports:

    что наталкивает меня на проблему с ядром. Может кто подскажет, как посмотреть, скомпилированно ли ядро с модулем SLIP. В Федоре сырцы ядра не загружены, только каталоги и служебная информация. Команда make menuconfig выполняется. И, вроде как, SLIP скомпилирован как модуль. Надо ли его подключать вручную, или он автоматом грузится?


  7. Встала у меня на половину академическая задача изучения и написания стека протоколов TCP/IP для микроконтроллера. Пока неохота ковырятся с железом (долго и для начала нет смысла), решил промоделировать все на компьютере. Для этого создал простенький стенд: В машине под Федорой 13 установлена PCI платка с 2 COM портами, перепаянными 3х проводным нуль-модемом. Устройства /dev/ttyS1 и /dev/ttyS2. К устройствам применяю chmod, дабы из под простого пользователя работать можно было. Проверяю 2мя терминалами, на аппаратном уровне все работает, данные передаются. Далее пытаюсь поднять SLIP на ttyS1. Для этого делаю следующие под рутом:

    slattach -L -p slip -s 115200 /dev/ttyS1 &

    Вроде как пролетает устпешно (и при запуске не в фоне ошибок нет), устройство sl0 создается. Пытаюсь его сконфигурировать:

    ifconfig sl0 192.168.0.10 pointopoint 192.168.0.20 up

    Все тоже без ошибок, в листе ifconfig появляется устройство sl0 с настроенными параметрами.

    Команда ping -с1 192.168.0.20, соответственно, возвращает 100% потерю пакетов, но при этом на слушающем (/dev/ttyS2) терминале глухо, как в танке... Вызов ifconfig показывает, что на sl0 устройстве происходит попытка передачи (параметр TX Byte увиличивается с каждым пингом на 84).

    Уже перебрал все варианты, route пытался настроить. Результат 0.

    Люди, помогите! Где засада? Я уже ядро подозревать стал:(

×
×
  • Create New...