LINUX.ORG.RU

Кривая реализация TCP-стека


0

0

Я недавно написал cups-драйвер для принтера Tysso PRP-085IIIT. USB, Serial варианты работают замечательно. Проблемы с сетевым принтером, он подвисает :( В ходе сравнения ip-пакетов выяснилось, что виновата реализация tcp-стека в принтере, при этом ядро linux генерирует вот такие вот сообщения:

TCP: Treason uncloaked! Peer 172.16.12.99:9100/49720 shrinks window 1286392020:1286392743. Repaired.
TCP: Treason uncloaked! Peer 172.16.12.99:9100/49720 shrinks window 1286392020:1286392743. Repaired.
TCP: Treason uncloaked! Peer 172.16.12.99:9100/50364 shrinks window 3125622750:3125623473. Repaired.
TCP: Treason uncloaked! Peer 172.16.12.99:9100/50364 shrinks window 3125622750:3125623473. Repaired.
TCP: Treason uncloaked! Peer 172.16.12.99:9100/50364 shrinks window 3125622750:3125623473. Repaired.
TCP: Treason uncloaked! Peer 172.16.12.99:9100/50364 shrinks window 3125622750:3125623473. Repaired.
TCP: Treason uncloaked! Peer 172.16.12.99:9100/50364 shrinks window 3125622750:3125623473. Repaired.
TCP: Treason uncloaked! Peer 172.16.12.99:9100/50364 shrinks window 3125622750:3125623473. Repaired.
TCP: Treason uncloaked! Peer 172.16.12.99:9100/50364 shrinks window 3125622750:3125623473. Repaired.
TCP: Treason uncloaked! Peer 172.16.12.99:9100/50364 shrinks window 3125622750:3125623473. Repaired.

В общем одни и теже данные посланные напрямую и через redir на винде показывают такие результаты:

linux => windows => printer = РАБОТАЕТ!
linux => printer = НЕ РАБОТАЕТ!

А теперь вопрос :) Как заставить linux tcp-стек работать так же как и у windows, что бы как то обойти эту проблему :)



Последнее исправление: oleg_kaa (всего исправлений: 1)

Ответ на: комментарий от pathfinder

Ну это понятно по dmesg, но как его обойти что бы принтер не вис, вот в чем вопрос :)

oleg_kaa
() автор топика

Читал про настройки TCP.

tcp_retrans_collapse

Включает/выключает эмуляцию ошибки протокола TCP, делая возможным сетевое взаимодействие с некоторыми устройствами, в которых реализация стека TCP имеет эту ошибку. Без ее эмуляции было бы невозможным работать с отдельными моделями ПРИНТЕРОВ. Ошибка заключается в отправке полноразмерных пакетов при повторной передаче.

Попробуй поиграться с этой настройкой. А вдруг поможет.

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

Спасибо! Попробую уже в понедельник :)

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