Начало » Настройка ОС Linux » Вопросы по серверам и сетям » Проблема поднять SLIP соединение
Проблема поднять SLIP соединение [сообщение #342160] Вск, 29 Август 2010 12:46 Переход к следующему сообщения
jakushev в настоящее время не в онлайне jakushev
Сообщений: 8
Зарегистрирован: Август 2010
Географическое положение: Королев
Новичок
Встала у меня на половину академическая задача изучения и написания стека протоколов 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.
Люди, помогите! Где засада? Я уже ядро подозревать стал:(
Re: Проблема поднять SLIP соединение [сообщение #342162 является ответом на сообщение #342160] Вск, 29 Август 2010 17:59 Переход к предыдущему сообщенияПереход к следующему сообщения
gogi в настоящее время не в онлайне gogi
Сообщений: 532
Зарегистрирован: Январь 2009
Житель
Попробуйте запустить slattach на отдельном терминале в режиме отладки. Похоже, ядро отдает ему пакеты.
Re: Проблема поднять SLIP соединение [сообщение #342163 является ответом на сообщение #342162] Вск, 29 Август 2010 18:31 Переход к предыдущему сообщенияПереход к следующему сообщения
jakushev в настоящее время не в онлайне jakushev
Сообщений: 8
Зарегистрирован: Август 2010
Географическое положение: Королев
Новичок
Попробовал. Странная ситуация. 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 скомпилирован как модуль. Надо ли его подключать вручную, или он автоматом грузится?
Re: Проблема поднять SLIP соединение [сообщение #342164 является ответом на сообщение #342163] Вск, 29 Август 2010 18:56 Переход к предыдущему сообщенияПереход к следующему сообщения
jakushev в настоящее время не в онлайне jakushev
Сообщений: 8
Зарегистрирован: Август 2010
Географическое положение: Королев
Новичок
Попробовал подгрузить модуль slip до slattach
modprobe slip
Все загрузилось, lsmod отображает его.
После выполнения slattach счетчик использования модуля увеличился на 1. Вроде, все как положенно. Но, все равно, конфигурю сеть, пингую 1 пакетом. Гдето через минуту появляется ошибка ядра:(
Re: Проблема поднять SLIP соединение [сообщение #342166 является ответом на сообщение #342164] Вск, 29 Август 2010 21:18 Переход к предыдущему сообщенияПереход к следующему сообщения
AccessD в настоящее время не в онлайне AccessD
Сообщений: 2019
Зарегистрирован: Июль 2005
Географическое положение: Москва
Мудрец

Цитата:
Может кто подскажет, как посмотреть, скомпилированно ли ядро с модулем SLIP

grep SLIP /boot/config-`uname -r`
У меня тоже 13, скомпилен как модуль.


Rock'n'Roll, chummers!
AccessD's blog

[Обновления: Вск, 29 Август 2010 21:19]

Известить модератора

Re: Проблема поднять SLIP соединение [сообщение #342167 является ответом на сообщение #342166] Вск, 29 Август 2010 22:23 Переход к предыдущему сообщенияПереход к следующему сообщения
jakushev в настоящее время не в онлайне jakushev
Сообщений: 8
Зарегистрирован: Август 2010
Географическое положение: Королев
Новичок
С модулем я разобрался. Нормально подгружается по необходимости и заранее вручную. И процесс его подхватывает. Ядро сейчас текущее 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 адресов это не зависит. Заранее благодарен.
Re: Проблема поднять SLIP соединение [сообщение #342169 является ответом на сообщение #342167] Пнд, 30 Август 2010 21:34 Переход к предыдущему сообщенияПереход к следующему сообщения
AccessD в настоящее время не в онлайне AccessD
Сообщений: 2019
Зарегистрирован: Июль 2005
Географическое положение: Москва
Мудрец

На ноуте не работает.
На рабочем компе всё отработало. но пинга нет (


Rock'n'Roll, chummers!
AccessD's blog
Re: Проблема поднять SLIP соединение [сообщение #342170 является ответом на сообщение #342169] Пнд, 30 Август 2010 21:46 Переход к предыдущему сообщенияПереход к следующему сообщения
jakushev в настоящее время не в онлайне jakushev
Сообщений: 8
Зарегистрирован: Август 2010
Географическое положение: Королев
Новичок
Спасибо. Подозрение у меня на ядро. Буду нового ждать. Или, если получится, в виртуалке попробую что нибудь поднять... Так провода пока не протянул от другого компа.
Re: Проблема поднять SLIP соединение [сообщение #342214 является ответом на сообщение #342170] Пнд, 06 Сентябрь 2010 03:40 Переход к предыдущему сообщенияПереход к следующему сообщения
cppmm в настоящее время не в онлайне cppmm
Сообщений: 661
Зарегистрирован: Ноябрь 2006
Географическое положение: Russia/Tomsk
Житель

А что в dmesg по поводу slip'а говорится? Я такую схему когда поднимал между Debian Etch(если не ошибаюсь, там было ядро 2.6.18) и Slackware 12.1(версию ядра не помню, но там стандартное было - не самосборное). Поэтому очень странно, по-моему, что сейчас из-за ядра что-то может не работать.
У себя попробовал просто поднять интерфейс(к сожалению, кабеля нульмодемного нет под рукой, поэтому пинга проверить не могу, но выглядит всё так, будто поднялось без проблем). Никаких ошибок. Сейчас пробовал на Debian Lenny(2.6.26-2-686, slip модулем).


Today is good day to die...
Re: Проблема поднять SLIP соединение [сообщение #342228 является ответом на сообщение #342214] Пнд, 06 Сентябрь 2010 19:31 Переход к предыдущему сообщенияПереход к следующему сообщения
jakushev в настоящее время не в онлайне jakushev
Сообщений: 8
Зарегистрирован: Август 2010
Географическое положение: Королев
Новичок
После 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)
При работе с портом на материнке, ситуация аналогичная...
Re: Проблема поднять SLIP соединение [сообщение #342229 является ответом на сообщение #342228] Пнд, 06 Сентябрь 2010 19:49 Переход к предыдущему сообщенияПереход к следующему сообщения
jakushev в настоящее время не в онлайне jakushev
Сообщений: 8
Зарегистрирован: Август 2010
Географическое положение: Королев
Новичок
Извиняюсь, не все сообщения послал. Попробовал 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?
Re: Проблема поднять SLIP соединение [сообщение #342230 является ответом на сообщение #342228] Пнд, 06 Сентябрь 2010 20:31 Переход к предыдущему сообщенияПереход к следующему сообщения
gogi в настоящее время не в онлайне gogi
Сообщений: 532
Зарегистрирован: Январь 2009
Житель
jakushev писал(а) Mon, 06 September 2010 19:31
Если я правильно понимаю, ядро должно "обрамить" IP пакет в SLIP пакет и передать на нужный порт.
ция аналогичная...

Не совсем. В случае виртуального интерфейса, как я понимаю, ядро должно передать пакет не в сеть, а программе slattach, запущенной в режимк даемона (для отладки можно и на консоли). А она обрамляет и передает в порт /dev/ttyS..., т.е. снова ядру, а то в физический сериал порт.
По делу. Очень похоже, что дело действительно в ядре. Попробуйте в своем дистрибутиве установить несколько ядер, в том числе и стабильное от редхат (сентос) и грузить по очереди. Скорее всего они уже есть в репозитории. Если нет, это легко сделать вручную.
Re: Проблема поднять SLIP соединение [сообщение #342231 является ответом на сообщение #342230] Пнд, 06 Сентябрь 2010 20:47 Переход к предыдущему сообщения
jakushev в настоящее время не в онлайне jakushev
Сообщений: 8
Зарегистрирован: Август 2010
Географическое положение: Королев
Новичок

Сейчас проверил на Федоре 12 на другом компьютере, там ядро 2.6.31.5. Тоже самое. Может быть есть возможность перенаправить slattach в файл, чтоб отделить зерна от плевил? Сейчас попробую, но не думаю, что это получится...
Предыдущая тема:Авторизация в SAMBA
Следующая тема:SLES11+LPRng,сервер печати.Проблема:нужен вменяемый менеджер очередей.
Переход к форуму:
  


Текущее время: Срд Фев 08 17:20:17 MSK 2012

Общее время, затраченное на создание страницы: 0.00600 секунд
.:: Обратная связь :: Начало ::.

При поддержке: FUDforum 3.0.2.
Copyright © 2001-2010 FUDforum Bulletin Board Software