Сетевая карта Ariadne2 есть у кого-нибудь?

Классические амиги и клоны. 1000, 2000, 3000, 4000, 500, 600, 1200, cdtv, cd32

Модераторы: striimii, Vinnny

Re: Сетевая карта Ariadne2 есть у кого-нибудь?

Сообщение tnt23 10 дек 2013, 13:02

Проблема с пассивным FTP объяснялась просто: принимаемые пакеты в конце имели лишних четыре байта мусора.

FTP.PNG
FTP.PNG (12.59 KiB) Просмотров: 14809
A500, A600, A1200, A3000
Аватара пользователя
tnt23
Беспардонный Амигофлуд
Беспардонный Амигофлуд
 
Сообщения: 1293
Зарегистрирован: 17 май 2005, 16:59
Откуда: Санкт-Петербург

Re: Сетевая карта Ariadne2 есть у кого-нибудь?

Сообщение tnt23 13 дек 2013, 14:21

Допилил драйвер до самого рабочего на сегодняшний день состояния. Максимум производительности:

Код: Выделить всё
Receiving from client, packet size  1k ...  214.50 KByte/s
Sending to client, packet size  1k ...  256.41 KByte/s
Receiving from client, packet size  2k ...  233.36 KByte/s
Sending to client, packet size  2k ...  296.80 KByte/s
Receiving from client, packet size  4k ...  240.94 KByte/s
Sending to client, packet size  4k ...  305.91 KByte/s
Receiving from client, packet size  8k ...  242.19 KByte/s
Sending to client, packet size  8k ...  324.91 KByte/s
Receiving from client, packet size 16k ...  229.85 KByte/s
Sending to client, packet size 16k ...  331.89 KByte/s
Receiving from client, packet size 32k ...  227.13 KByte/s
Sending to client, packet size 32k ...  328.09 KByte/s


Пока больше не вижу/не понимаю, где можно ускорить. Код собран под 68030, все соптимизировано по скорости, частые вызовы мелких функций спрямлены в инлайн и тому подобное. И все равно не достичь результата cnet-овского драйвера (400-500К на 68020@14MHz, хотя там 32-битный доступ). Будем разбираться, чо.

Когда система и TCP стек с его буферами гнездятся в фаст-памяти, прирост производительности заметный, но все равно не драматический.
Код: Выделить всё
Receiving from client, packet size  1k ...  255.45 KByte/s
Sending to client, packet size  1k ...  266.11 KByte/s
Receiving from client, packet size  2k ...  284.11 KByte/s
Sending to client, packet size  2k ...  347.35 KByte/s
Receiving from client, packet size  4k ...  287.24 KByte/s
Sending to client, packet size  4k ...  366.14 KByte/s
Receiving from client, packet size  8k ...  287.20 KByte/s
Sending to client, packet size  8k ...  390.10 KByte/s
Receiving from client, packet size 16k ...  288.12 KByte/s
Sending to client, packet size 16k ...  375.83 KByte/s
Receiving from client, packet size 32k ...  270.27 KByte/s
Sending to client, packet size 32k ...  398.77 KByte/s
A500, A600, A1200, A3000
Аватара пользователя
tnt23
Беспардонный Амигофлуд
Беспардонный Амигофлуд
 
Сообщения: 1293
Зарегистрирован: 17 май 2005, 16:59
Откуда: Санкт-Петербург

Re: Сетевая карта Ariadne2 есть у кого-нибудь?

Сообщение Astrov 13 дек 2013, 14:40

у меня ам7990 16-битный - те же 500-600 кБайт
A1200/030 50Mhz
Аватара пользователя
Astrov
Беспардонный Амигофлуд
Беспардонный Амигофлуд
 
Сообщения: 2061
Зарегистрирован: 05 июл 2006, 22:05
Откуда: оттуда

Re: Сетевая карта Ariadne2 есть у кого-нибудь?

Сообщение tnt23 13 дек 2013, 15:02

Это на 4К без акселя? У меня 030/25 и даже 400 не выходит, реально 200-300.
A500, A600, A1200, A3000
Аватара пользователя
tnt23
Беспардонный Амигофлуд
Беспардонный Амигофлуд
 
Сообщения: 1293
Зарегистрирован: 17 май 2005, 16:59
Откуда: Санкт-Петербург

Re: Сетевая карта Ariadne2 есть у кого-нибудь?

Сообщение Astrov 13 дек 2013, 16:12

это на 2К

на 4к не пробовал - надо будет собрать ее надосуге
A1200/030 50Mhz
Аватара пользователя
Astrov
Беспардонный Амигофлуд
Беспардонный Амигофлуд
 
Сообщения: 2061
Зарегистрирован: 05 июл 2006, 22:05
Откуда: оттуда

Re: Сетевая карта Ariadne2 есть у кого-нибудь?

Сообщение tnt23 17 дек 2013, 12:14

Собираюсь в январе сделать пяток плат (на борту 64М), ориентировочная стоимость около 4500р плюс пересылка. Желающих предзаказать милости прошу в личку.

UPD это на пределе рентабельности, даже не все компоненты посчитал (про стоимость ручного монтажа вообще молчу). Последующие платы точно дешевле не будут.
Последний раз редактировалось tnt23 17 дек 2013, 13:55, всего редактировалось 2 раз(а).
A500, A600, A1200, A3000
Аватара пользователя
tnt23
Беспардонный Амигофлуд
Беспардонный Амигофлуд
 
Сообщения: 1293
Зарегистрирован: 17 май 2005, 16:59
Откуда: Санкт-Петербург

Re: Сетевая карта Ariadne2 есть у кого-нибудь?

Сообщение volton 17 дек 2013, 13:16

to tnt23,поддержка zorro2 будет?
Amiga
Аватара пользователя
volton
Беспардонный Амигофлуд
Беспардонный Амигофлуд
 
Сообщения: 1123
Зарегистрирован: 28 окт 2005, 21:15
Откуда: Pilarussia

Re: Сетевая карта Ariadne2 есть у кого-нибудь?

Сообщение tnt23 17 дек 2013, 13:47

volton писал(а):to tnt23,поддержка zorro2 будет?


Физически в карте все для этого есть, нужно только сесть и написать :) Ессно, это относится только к сети, памяти в ZII в лучшем случае будет видно 8М.
Да, и у меня нет машины с ZII, поэтому как тестировать/отлаживать, непонятно.
A500, A600, A1200, A3000
Аватара пользователя
tnt23
Беспардонный Амигофлуд
Беспардонный Амигофлуд
 
Сообщения: 1293
Зарегистрирован: 17 май 2005, 16:59
Откуда: Санкт-Петербург

Re: Сетевая карта Ariadne2 есть у кого-нибудь?

Сообщение tnt23 17 дек 2013, 22:52

Картинка для медитаций насчет производительности драйвера (сейчас без фаста и на 120МГц передача/прием примерно 260K/290K). Конкретно изображен кусок отправки пакетов в программке NetIO, размер пакета таков, что не лезет в MTU и соответственно отправляется тремя TCP сегментами. Сам по себе сегмент улетает моментально (см. всплески на IRQ), а вот львиную долю времени сжирает загрузка пакета в память карты.

netio_tx_c.png
netio_tx_c.png (10.73 KiB) Просмотров: 14390
A500, A600, A1200, A3000
Аватара пользователя
tnt23
Беспардонный Амигофлуд
Беспардонный Амигофлуд
 
Сообщения: 1293
Зарегистрирован: 17 май 2005, 16:59
Откуда: Санкт-Петербург

Re: Сетевая карта Ariadne2 есть у кого-нибудь?

Сообщение tnt23 23 дек 2013, 13:43

Запись в бортовом журнале: подкрутил тайминги памяти, данные по bustest 6.7/9.4/10.1 (чтение), 5.8/11.7/13.2 (запись).

Ожидаемо прием/передача выросли до примерно 310/270 килобайт в секунду (на писишной стороне результат показывается как 350/260).
A500, A600, A1200, A3000
Аватара пользователя
tnt23
Беспардонный Амигофлуд
Беспардонный Амигофлуд
 
Сообщения: 1293
Зарегистрирован: 17 май 2005, 16:59
Откуда: Санкт-Петербург

Re: Сетевая карта Ariadne2 есть у кого-нибудь?

Сообщение tnt23 23 янв 2014, 14:34

Скроил тулзу для прописывания MAC-адреса в набортную епромину.

SETMAC.PNG
SETMAC.PNG (3.87 KiB) Просмотров: 15143
A500, A600, A1200, A3000
Аватара пользователя
tnt23
Беспардонный Амигофлуд
Беспардонный Амигофлуд
 
Сообщения: 1293
Зарегистрирован: 17 май 2005, 16:59
Откуда: Санкт-Петербург

Re: Сетевая карта Ariadne2 есть у кого-нибудь?

Сообщение tnt23 04 фев 2014, 23:13

Некоторого геморроя стоило завести карту в A3000. Конфигурация: Deneb с USB флешкой, откуда грузится система, и карта с памятью и сетевым интерфейсом.

IMAG3151.JPG
IMAG3151.JPG (79.52 KiB) Просмотров: 14079


Если установить еще видяху Cybervision 64/3D, то отсыхает память. Буду еще копаться.
A500, A600, A1200, A3000
Аватара пользователя
tnt23
Беспардонный Амигофлуд
Беспардонный Амигофлуд
 
Сообщения: 1293
Зарегистрирован: 17 май 2005, 16:59
Откуда: Санкт-Петербург

Re: Сетевая карта Ariadne2 есть у кого-нибудь?

Сообщение tnt23 20 фев 2014, 22:49

Победил тут кучу разных штук.

На сегодня остался вот какой прикол: обработчик прерываний (interrupt server в терминологии AmigaOS) вешается в цепочку с другими обработчиками. Каждый вызывается по очереди в соответствии с приоритетом. И каждый обработчик, если причина прерывания к нему не относилась, должен дать следующему в очереди поработать, для чего надлежит вернуть установленным специальный флаг Z в регистре статуса.

В принципе, если кроме этого обработчика других нет или он последний в цепочке, то и пофигу, что он там возвращает в флаге Z. А когда прерывание используется совместно с другими картами, то тут уже извините.

А у меня обработчик на C и последняя команда перед RTS - восстановление регистров :) Придется переписывать на ассемблере, что ли.

ЗЫ невнимательно читал доку, конкретно относительно атрибута __amigainterrupt:

Код: Выделить всё
__amigainterrupt
Used to write interrupt-handlers for AmigaOS. Stack-checking for a function
with this attribute will be disabled and if a value is returned in d0, the condition
codes will be set accordingly.


Вот и проверим.
A500, A600, A1200, A3000
Аватара пользователя
tnt23
Беспардонный Амигофлуд
Беспардонный Амигофлуд
 
Сообщения: 1293
Зарегистрирован: 17 май 2005, 16:59
Откуда: Санкт-Петербург

Re: Сетевая карта Ariadne2 есть у кого-нибудь?

Сообщение tnt23 07 мар 2014, 17:48

Собрал ВТОРУЮ плату! Сейчас заканчивает тестироваться в A3000. Зарезервировано за SanDisk.

netcards.jpg
netcards.jpg (63.17 KiB) Просмотров: 13803
A500, A600, A1200, A3000
Аватара пользователя
tnt23
Беспардонный Амигофлуд
Беспардонный Амигофлуд
 
Сообщения: 1293
Зарегистрирован: 17 май 2005, 16:59
Откуда: Санкт-Петербург

Re: Сетевая карта Ariadne2 есть у кого-нибудь?

Сообщение tnt23 08 мар 2014, 22:40

Не пропадать же картинке. Что в ней любопытного: A3000, в системе 2М чипа и 0М фаста, только 64М зорро-памяти на плате Z3SDRAM. В эту память загружается с USB-флешки через DENEB и работает система (чип-память практически не расходуется). Там же, в 64М, располагается и работает TCP стек Roadshow, используя находящийся на той же плате Z3SDRAM сетевой адаптер. Меня с этого всего ужасно штырит :)

Изображение

Чтобы из этой платы сделать совсем конфетку для A3000, нужно в нее докинуть IDE интерфейс и USB на основе Thylacine.
A500, A600, A1200, A3000
Аватара пользователя
tnt23
Беспардонный Амигофлуд
Беспардонный Амигофлуд
 
Сообщения: 1293
Зарегистрирован: 17 май 2005, 16:59
Откуда: Санкт-Петербург

Пред.След.

Вернуться в Железо Classic Amiga

Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 83

cron