Где взять исходники старых версий LinuxCNC?

Обсуждение установки, настройки и использования LinuxCNC. Вопросы по Gкоду.
Аватара пользователя
Сергей Саныч
Мастер
Сообщения: 9116
Зарегистрирован: 30 май 2012, 14:20
Репутация: 2858
Откуда: Тюмень
Контактная информация:

Где взять исходники старых версий LinuxCNC?

Сообщение Сергей Саныч »

Собственно, интересует драйвер serport для версий 2.5.x
Драйвер новых версий (2.7) запускается только один раз. При повторном запуске (хоть через LCNC, хоть через halrun) выдает ошибку занятости ресурса. Лечится только перезагрузкой Linux.
Если подставляю драйвер (serport.ko) из версии 2.5.4, с перезапуском проблем нет.
Чудес не бывает. Бывают фокусы.
Аватара пользователя
PKM
Почётный участник
Почётный участник
Сообщения: 4263
Зарегистрирован: 31 мар 2011, 18:11
Репутация: 705
Настоящее имя: Андрей
Откуда: Украина
Контактная информация:

Re: Где взять исходники старых версий LinuxCNC?

Сообщение PKM »

https://github.com/jepler/linuxcnc-mirr ... rport.comp

Со времен 2.5 был только один небольшой коммит https://github.com/jepler/linuxcnc-mirr ... 485fd86907
Возможно, что-то он и подпортил
Аватара пользователя
Сергей Саныч
Мастер
Сообщения: 9116
Зарегистрирован: 30 май 2012, 14:20
Репутация: 2858
Откуда: Тюмень
Контактная информация:

Re: Где взять исходники старых версий LinuxCNC?

Сообщение Сергей Саныч »

С этим изменением (замена одного из заголовочных файлов) выдает ошибку при компиляции посредством comp. То есть новая версия им не компилируется.
Через halcompile успешно компилируются обе версии, и обе не выдерживают повторного запуска.
Кроме того, еще один непонятный момент: скомпилированные файлы .ko имеют объем около 100 кбайт, тогда как те же файлы, полученные при установке LCNC из исходников - не более 10 кбайт. Понятно, что что-то лишнее подключается, но как этого избежать?

Компиляция делалась командами:

Код: Выделить всё

comp --compile serport.comp
или

Код: Выделить всё

halcompile --compile serport.comp
Чудес не бывает. Бывают фокусы.
Аватара пользователя
PKM
Почётный участник
Почётный участник
Сообщения: 4263
Зарегистрирован: 31 мар 2011, 18:11
Репутация: 705
Настоящее имя: Андрей
Откуда: Украина
Контактная информация:

Re: Где взять исходники старых версий LinuxCNC?

Сообщение PKM »

Любопытно. Тогда это проблема с компиляцией по-новому... без разработчиков не разобраться.
Есть тикет на аналогичную проблему с parport, подкинул туда инфу и насчет serport - вдруг это как-то связано.
Аватара пользователя
Serg
Мастер
Сообщения: 21923
Зарегистрирован: 17 апр 2012, 14:58
Репутация: 5183
Заслуга: c781c134843e0c1a3de9
Настоящее имя: Сергей
Откуда: Москва
Контактная информация:

Re: Где взять исходники старых версий LinuxCNC?

Сообщение Serg »

Сергей Саныч писал(а):Через halcompile успешно компилируются обе версии, и обе не выдерживают повторного запуска.
В качестве побочного результата компиляции образуется файл serport.c - дай оба варианта посмотреть...

И покажи, что говорит lsmod после завершения linuxcnc с serport новой версии?..
Я не Христос, рыбу не раздаю, но могу научить, как сделать удочку...
Аватара пользователя
Сергей Саныч
Мастер
Сообщения: 9116
Зарегистрирован: 30 май 2012, 14:20
Репутация: 2858
Откуда: Тюмень
Контактная информация:

Re: Где взять исходники старых версий LinuxCNC?

Сообщение Сергей Саныч »

serport.zip
(7.94 КБ) 359 скачиваний
Здесь три варианта -
c25c - версия 2.5 скомпилированная comp
c25h - через halcompile
c27h - 2.7 через halcompile

Код: Выделить всё

Module                  Size  Used by
binfmt_misc             6587  1 
dm_crypt               11363  0 
ppdev                   5259  0 
ftdi_sio               32549  0 
parport_pc             25637  1 
joydev                  8644  0 
usbtouchscreen          8041  0 
psmouse                63213  0 
serio_raw               3978  0 
usbserial              32063  1 ftdi_sio
k8temp                  3024  0 
i2c_nforce2             5159  0 
lp                      7028  0 
parport                30764  3 ppdev,parport_pc,lp
dm_raid45              81157  0 
xor                    14673  1 dm_raid45
usbhid                 35772  0 
hid                    65804  1 usbhid
fbcon                  35102  71 
tileblit                1987  1 fbcon
font                    7406  1 fbcon
bitblit                 4664  1 fbcon
softcursor              1151  1 bitblit
vga16fb                11161  0 
vgastate                8760  1 vga16fb
nouveau               467048  2 
ttm                    46069  1 nouveau
drm_kms_helper         27748  1 nouveau
drm                   154120  4 nouveau,ttm,drm_kms_helper
floppy                 51992  0 
agpgart                29292  2 ttm,drm
i2c_algo_bit            4903  1 nouveau
forcedeth              49072  0 
pata_amd                8766  2 
Чудес не бывает. Бывают фокусы.
Аватара пользователя
PKM
Почётный участник
Почётный участник
Сообщения: 4263
Зарегистрирован: 31 мар 2011, 18:11
Репутация: 705
Настоящее имя: Андрей
Откуда: Украина
Контактная информация:

Re: Где взять исходники старых версий LinuxCNC?

Сообщение PKM »

Кстати исправление для проблемы parport уже готово http://git.linuxcnc.org/gitweb?p=linuxc ... 14e87b6152
Возможно и данную проблему оно пофиксит
Аватара пользователя
Serg
Мастер
Сообщения: 21923
Зарегистрирован: 17 апр 2012, 14:58
Репутация: 5183
Заслуга: c781c134843e0c1a3de9
Настоящее имя: Сергей
Откуда: Москва
Контактная информация:

Re: Где взять исходники старых версий LinuxCNC?

Сообщение Serg »

Сергей Саныч писал(а):Кроме того, еще один непонятный момент: скомпилированные файлы .ko имеют объем около 100 кбайт, тогда как те же файлы, полученные при установке LCNC из исходников - не более 10 кбайт. Понятно, что что-то лишнее подключается, но как этого избежать?
Просто при компилации из исходников ты не включал добавление отладочной информации. Избежать легко:
$ ls -l /usr/realtime-3.4-9-rtai-686-pae/modules/linuxcnc/serport.ko
-rw-r--r-- 1 root root 104222 Дек 13 08:59 /usr/realtime-3.4-9-rtai-686-pae/modules/linuxcnc/serport.ko
$ file /usr/realtime-3.4-9-rtai-686-pae/modules/linuxcnc/serport.ko
/usr/realtime-3.4-9-rtai-686-pae/modules/linuxcnc/serport.ko: ELF 32-bit LSB relocatable, Intel 80386, version 1 (SYSV), BuildID[sha1]=0xeedd5aaf67857c8b9bf38d685d25fbf3940255d4, not stripped
$ sudo strip /usr/realtime-3.4-9-rtai-686-pae/modules/linuxcnc/serport.ko
$ file /usr/realtime-3.4-9-rtai-686-pae/modules/linuxcnc/serport.ko
/usr/realtime-3.4-9-rtai-686-pae/modules/linuxcnc/serport.ko: ELF 32-bit LSB relocatable, Intel 80386, version 1 (SYSV), BuildID[sha1]=0xeedd5aaf67857c8b9bf38d685d25fbf3940255d4, stripped
$ ls -l /usr/realtime-3.4-9-rtai-686-pae/modules/linuxcnc/serport.ko
-rw-r--r-- 1 root root 7016 Янв 6 17:33 /usr/realtime-3.4-9-rtai-686-pae/modules/linuxcnc/serport.ko
но бессмысленно.

попробуй добавить
struct __comp_state *__comp_inst=0;
между 53 и 54 строками. Хотя это и неправильно...

Замена
#include <asm/io.h>
на
#include <rtapi_io.h>
тоже совершенно правильная и влиять на это не должна.
На досуге попробую поискать причину...
Я не Христос, рыбу не раздаю, но могу научить, как сделать удочку...
Аватара пользователя
PKM
Почётный участник
Почётный участник
Сообщения: 4263
Зарегистрирован: 31 мар 2011, 18:11
Репутация: 705
Настоящее имя: Андрей
Откуда: Украина
Контактная информация:

Re: Где взять исходники старых версий LinuxCNC?

Сообщение PKM »

там была проблема в самом rtapi
ответили: commit e1f0c96 in 2.7 should fix that (serport) issue too
Аватара пользователя
solo
Мастер
Сообщения: 1374
Зарегистрирован: 20 окт 2011, 18:39
Репутация: 272
Настоящее имя: Юрий Соловьев
Откуда: Украина Харьков
Контактная информация:

Re: Где взять исходники старых версий LinuxCNC?

Сообщение solo »

у меня в хламе валяется CD установочный с линухом10.04 и ЕМС 2.4
Аватара пользователя
Serg
Мастер
Сообщения: 21923
Зарегистрирован: 17 апр 2012, 14:58
Репутация: 5183
Заслуга: c781c134843e0c1a3de9
Настоящее имя: Сергей
Откуда: Москва
Контактная информация:

Re: Где взять исходники старых версий LinuxCNC?

Сообщение Serg »

Собственно ответ на вопрос темы:
Клонируете к себе git-репозиторий известной командой

Код: Выделить всё

git clone git://git.linuxcnc.org/git/linuxcnc.git linuxcnc-old
заходите в получившийся каталог linuxcnc-old и там выполнаете команду типа

Код: Выделить всё

git checkout v2.6.5
теперь у вас в каталоге linuxcnc-old находится версия 2.6.5.
Командой можно посмотреть какие версии доступны.
Я не Христос, рыбу не раздаю, но могу научить, как сделать удочку...
Аватара пользователя
PKM
Почётный участник
Почётный участник
Сообщения: 4263
Зарегистрирован: 31 мар 2011, 18:11
Репутация: 705
Настоящее имя: Андрей
Откуда: Украина
Контактная информация:

Re: Где взять исходники старых версий LinuxCNC?

Сообщение PKM »

Я тоже начал это писать. Потом подумал, что из-за одного файла клонировать лениво. Проще из веба стащить, заодно все изменения просмотреть.
Аватара пользователя
Сергей Саныч
Мастер
Сообщения: 9116
Зарегистрирован: 30 май 2012, 14:20
Репутация: 2858
Откуда: Тюмень
Контактная информация:

Re: Где взять исходники старых версий LinuxCNC?

Сообщение Сергей Саныч »

Кстати. Почему-то с рабочего компьютера никогда не получалось работать с git. Сейчас попробовал из дома - нормально скачалось.
Может, git какой-то специфический порт использует?
Последний раз редактировалось Сергей Саныч 07 янв 2015, 09:28, всего редактировалось 1 раз.
Чудес не бывает. Бывают фокусы.
Аватара пользователя
Serg
Мастер
Сообщения: 21923
Зарегистрирован: 17 апр 2012, 14:58
Репутация: 5183
Заслуга: c781c134843e0c1a3de9
Настоящее имя: Сергей
Откуда: Москва
Контактная информация:

Re: Где взять исходники старых версий LinuxCNC?

Сообщение Serg »

Использует 9418/tcp.
Я не Христос, рыбу не раздаю, но могу научить, как сделать удочку...
Аватара пользователя
Сергей Саныч
Мастер
Сообщения: 9116
Зарегистрирован: 30 май 2012, 14:20
Репутация: 2858
Откуда: Тюмень
Контактная информация:

Re: Где взять исходники старых версий LinuxCNC?

Сообщение Сергей Саныч »

Код: Выделить всё

cnc@cnc-desktop:~$ git clone git://git.linuxcnc.org/git/linuxcnc.git linuxcnc-old
Initialized empty Git repository in /home/cnc/linuxcnc-old/.git/
git.linuxcnc.org[0: 76.79.18.203]: errno=Connection timed out
fatal: unable to connect a socket (Connection timed out)
cnc@cnc-desktop:~$ 
Однако, придется админ просить, дырка файрвол ковырять :thinking:
Чудес не бывает. Бывают фокусы.
Аватара пользователя
Serg
Мастер
Сообщения: 21923
Зарегистрирован: 17 апр 2012, 14:58
Репутация: 5183
Заслуга: c781c134843e0c1a3de9
Настоящее имя: Сергей
Откуда: Москва
Контактная информация:

Re: Где взять исходники старых версий LinuxCNC?

Сообщение Serg »

http://cncdevice.pro/linuxcnc/linuxcnc.git.tar.bz2 - ~100MB
обновляется в 0 часов по UTC.
Я не Христос, рыбу не раздаю, но могу научить, как сделать удочку...
Аватара пользователя
Сергей Саныч
Мастер
Сообщения: 9116
Зарегистрирован: 30 май 2012, 14:20
Репутация: 2858
Откуда: Тюмень
Контактная информация:

Re: Где взять исходники старых версий LinuxCNC?

Сообщение Сергей Саныч »

Нот фаунд, говорит
The requested URL /html/linuxcnc/linuxcnc.git.tar.bz2 was not found on this server.
Чудес не бывает. Бывают фокусы.
Аватара пользователя
Serg
Мастер
Сообщения: 21923
Зарегистрирован: 17 апр 2012, 14:58
Репутация: 5183
Заслуга: c781c134843e0c1a3de9
Настоящее имя: Сергей
Откуда: Москва
Контактная информация:

Re: Где взять исходники старых версий LinuxCNC?

Сообщение Serg »

поправил ссылку.
Я не Христос, рыбу не раздаю, но могу научить, как сделать удочку...
Аватара пользователя
Сергей Саныч
Мастер
Сообщения: 9116
Зарегистрирован: 30 май 2012, 14:20
Репутация: 2858
Откуда: Тюмень
Контактная информация:

Re: Где взять исходники старых версий LinuxCNC?

Сообщение Сергей Саныч »

Теперь не может дождаться ответа сервера - вылетает по тайм-ауту.
Чудес не бывает. Бывают фокусы.
Аватара пользователя
PKM
Почётный участник
Почётный участник
Сообщения: 4263
Зарегистрирован: 31 мар 2011, 18:11
Репутация: 705
Настоящее имя: Андрей
Откуда: Украина
Контактная информация:

Re: Где взять исходники старых версий LinuxCNC?

Сообщение PKM »

У меня качается без проблем
Ответить

Вернуться в «LinuxCNC»