Страница 3 из 4
Re: device digi
Добавлено: 2008-06-09 17:03:34
paradox
сохрани этот вариант что есть
и возьми с нуля
и добавь этот патч
Код: Выделить всё
diff -urN digi.orig/digi_isa.c digi.new/digi_isa.c
--- digi.orig/digi_isa.c 2004-06-18 21:13:48.000000000 +0300
+++ digi.new/digi_isa.c 2008-06-09 16:15:32.000000000 +0300
@@ -80,7 +80,8 @@
static u_char *
digi_xi_setwin(struct digi_softc *sc, unsigned int addr)
{
- outb(sc->wport, sc->window = FEPMEM);
+ //outb(sc->wport, sc->window = FEPMEM);
+ outb(sc->wport, sc->window = inb(sc->port)|FEPMEM);
return (sc->vmem + addr);
}
@@ -203,6 +204,11 @@
sc->win_size = 0x10000;
sc->win_bits = 16;
sc->wport = sc->port;
+
+ sc->setwin = digi_xi_setwin;
+ sc->hidewin = digi_isa_hidewin;
+ sc->towin = digi_xi_towin;
+
} else {
sc->name = "Digiboard PC/Xe 64/8K (windowed)";
sc->model = PCXEVE;
@@ -210,12 +216,13 @@
sc->win_size = 0x2000;
sc->win_bits = 13;
sc->wport = sc->port + 1;
+
+ sc->setwin = digi_isa_setwin;
+ sc->hidewin = digi_isa_hidewin;
+ sc->towin = digi_isa_towin;
}
sc->module = "Xe";
- sc->setwin = digi_isa_setwin;
- sc->hidewin = digi_isa_hidewin;
- sc->towin = digi_isa_towin;
}
return (sc->name != NULL);
@@ -396,7 +403,7 @@
if (sc->model == PCXI || sc->model == PCXE) {
outb(sc->port, FEPRST | FEPMEM);
- for (i = 0; (inb(sc->port) & FEPMASK) != FEPRST; i++) {
+ for (i = 0; (inb(sc->port) & FEPMASK) != (FEPRST|FEPMEM); i++) {
if (i == hz / 10) {
device_printf(dev,
"memory reservation failed (0x%02x)\n",
Re: device digi
Добавлено: 2008-06-10 10:42:55
theBas
А как на пингвине карточку сконфигурить? есть свеженький дебиан.... в граб добавил digi=1,1,0,16,0x220,0x0D0000
dmesg|grep digi молчит
find / -name digi* тоже не радует
неужто качать и пересобирать ядро?
Re: device digi
Добавлено: 2008-06-10 10:48:24
paradox
)))
что сказала bsd по последнему патчу?
Re: device digi
Добавлено: 2008-06-11 15:35:25
theBas
Код: Выделить всё
caravella# kldload digi
kldload: can't load digi: No such file or directory
digi.ko есть
Re: device digi
Добавлено: 2008-06-11 15:41:05
theBas
Ето кочмар я уже поперепутывал все исходники сча сделаю наново.....
digi.c
digi.h
Оставить оригинальные или патченые?
Re: device digi
Добавлено: 2008-06-11 15:42:08
paradox
все соурсы оригинальные
Re: device digi
Добавлено: 2008-06-11 16:36:02
theBas
Код: Выделить всё
digi0: detaching
digi0: detached
digi0: probing on isa bus
digi0: isa? port 0x220 mem 0xd0000
digi0: got reset after 1 iterations
digi0: board type is 0x4
digi0: Probe returns -10
digi0: probing on isa bus
digi0: isa? port 0x220 mem 0xd0000
digi0: got reset after 1 iterations
digi0: board type is 0x4
digi0: Probe returns -10
digi0 at port 0x220-0x223 iomem 0xd0000-0xdffff on isa0
digi0: attaching
digi0: Checking card type
digi0: got reset after 1 iterations
digi0: board type is 0x4
digi0: internal memory segment 0xf000
digi0: got reset after 0 iterations
digi0: got memory after 0 iterations
digi0: short memory test
digi0: 1st memory test ok
digi0: 2nd memory test ok
digi0: 3rd memory test ok
digi0: BIOS uploaded
digi0: BIOS started after 1 us
digi0: BIOS booted after 11 iterations
digi0: FEP/OS moved after 1 iterations
digi0: FEP/OS start failed (0x00 != 0x534f)
При загрузке думал 40 сек
Re: device digi
Добавлено: 2008-06-11 16:56:23
paradox
нормально добавляй это
Код: Выделить всё
diff -urN digi.orig/digi.c digi.new/digi.c
--- digi.orig/digi.c 2008-03-03 00:34:24.000000000 +0200
+++ digi.new/digi.c 2008-06-11 16:46:26.000000000 +0300
@@ -383,7 +383,8 @@
case PCXE:
case PCXEVE:
case PCXI:
- ptr = sc->setwin(sc, sc->model == PCXI ? 0x2000 : 0x0);
+ //ptr = sc->setwin(sc, sc->model == PCXI ? 0x2000 : 0x0);
+ ptr = sc->setwin(sc, 0x2000);
digi_bcopy(sc->fep.data, ptr, sc->fep.size);
/* A BIOS request to move our data to 0x2000 */
Re: device digi
Добавлено: 2008-06-11 17:07:28
theBas
Код: Выделить всё
digi0: probing on isa bus
digi0: isa? port 0x220 mem 0xd0000
digi0: got reset after 1 iterations
digi0: board type is 0x4
digi0: Probe returns -10
digi0: probing on isa bus
digi0: isa? port 0x220 mem 0xd0000
digi0: got reset after 1 iterations
digi0: board type is 0x4
digi0: Probe returns -10
digi0 at port 0x220-0x223 iomem 0xd0000-0xdffff on isa0
digi0: attaching
digi0: Checking card type
digi0: got reset after 1 iterations
digi0: board type is 0x4
digi0: internal memory segment 0xf000
digi0: got reset after 0 iterations
digi0: got memory after 0 iterations
digi0: short memory test
digi0: 1st memory test ok
digi0: 2nd memory test ok
digi0: 3rd memory test ok
digi0: BIOS uploaded
digi0: BIOS started after 1 us
digi0: BIOS booted after 11 iterations
digi0: FEP/OS moved after 1 iterations
digi0: FEP/OS started after 1 iterations
digi0: Digiboard PC/Xe 64K, 16 ports found
digi1: probing on isa bus
digi1: 0x061: Invalid i/o address
СПАСИБО ДОКТОР
незнаю правда будет ли работать бо собственно переходник на модем я забыл с собой взять когда ездил за системником.
девайсы все создались.... сьезжу за переходником проверю работоспособность отпишусь
Re: device digi
Добавлено: 2008-06-11 17:09:52
paradox
ну если все заработает
можно кого то попросить закинуть на PR патч предварительно проверить то что ниже
просто кривовато портировали
Код: Выделить всё
diff -urN digi.orig/digi.c digi.new/digi.c
--- digi.orig/digi.c 2008-03-03 00:34:24.000000000 +0200
+++ digi.new/digi.c 2008-06-11 16:59:38.000000000 +0300
@@ -383,7 +383,7 @@
case PCXE:
case PCXEVE:
case PCXI:
- ptr = sc->setwin(sc, sc->model == PCXI ? 0x2000 : 0x0);
+ ptr = sc->setwin(sc, 0x2000);
digi_bcopy(sc->fep.data, ptr, sc->fep.size);
/* A BIOS request to move our data to 0x2000 */
diff -urN digi.orig/digi_isa.c digi.new/digi_isa.c
--- digi.orig/digi_isa.c 2004-06-18 21:13:48.000000000 +0300
+++ digi.new/digi_isa.c 2008-06-11 17:02:51.000000000 +0300
@@ -80,7 +80,7 @@
static u_char *
digi_xi_setwin(struct digi_softc *sc, unsigned int addr)
{
- outb(sc->wport, sc->window = FEPMEM);
+ outb(sc->wport, sc->window = inb(sc->port)|FEPMEM);
return (sc->vmem + addr);
}
@@ -203,6 +203,11 @@
sc->win_size = 0x10000;
sc->win_bits = 16;
sc->wport = sc->port;
+
+ sc->setwin = digi_xi_setwin;
+ sc->hidewin = digi_isa_hidewin;
+ sc->towin = digi_xi_towin;
+
} else {
sc->name = "Digiboard PC/Xe 64/8K (windowed)";
sc->model = PCXEVE;
@@ -210,12 +215,13 @@
sc->win_size = 0x2000;
sc->win_bits = 13;
sc->wport = sc->port + 1;
+
+ sc->setwin = digi_isa_setwin;
+ sc->hidewin = digi_isa_hidewin;
+ sc->towin = digi_isa_towin;
}
sc->module = "Xe";
- sc->setwin = digi_isa_setwin;
- sc->hidewin = digi_isa_hidewin;
- sc->towin = digi_isa_towin;
}
return (sc->name != NULL);
@@ -396,7 +402,7 @@
if (sc->model == PCXI || sc->model == PCXE) {
outb(sc->port, FEPRST | FEPMEM);
- for (i = 0; (inb(sc->port) & FEPMASK) != FEPRST; i++) {
+ for (i = 0; (inb(sc->port) & FEPMASK) != (FEPRST|FEPMEM); i++) {
if (i == hz / 10) {
device_printf(dev,
"memory reservation failed (0x%02x)\n",
Re: device digi
Добавлено: 2008-06-11 17:56:00
Alex Keda
баг-репорт надо обязательно...
иначе дальше будут те же грабли
Re: device digi
Добавлено: 2008-06-11 18:00:17
paradox
ну не факт что пофиксят
но пусть в PR весит
так поисковики быстрее найдут
и если что народ будет находить
хотя этот сайт и так в первых
там на тачке ничего не делаеться?
а то задолбался
жмешь отправить минут 5 может крутиться
или жмешь отправить
а оно уже белую страницы и данные уже потеряные)))
я терь по умному прежде чем отправить копирую в буффер сообщение=))
Re: device digi
Добавлено: 2008-06-11 18:07:57
Alex Keda
э не.
эт провайдет твой мутит.
днём правда пресобирал мир и ядро на стейбл - но щас ничё не едлается...
=========
надо софт чтоли пересобрать к ночи ближе. грят муся на стейбле станет жутко быстрей...
Re: device digi
Добавлено: 2008-06-11 18:10:22
paradox
не)) с моим все нормально
раньше же работало
это исклительно сегодня
Re: device digi
Добавлено: 2008-06-11 18:11:30
Alex Keda
ну у меня же прямо щас нормально...
Re: device digi
Добавлено: 2008-06-12 17:47:45
theBas
То что писал последним я не пробовал
но зато все теперь работает идеально (просто боюсь зглазить).
Есче раз
ОГРОМНОЕ СПАСИБО.
Re: device digi
Добавлено: 2008-06-12 17:56:57
paradox
лучше перепроверить
и отправить PR
а то будет 8 версия=))
будут опять проблемы
а патчи потом могут и не подойти - потому что они там опять что то накрутят
Re: device digi
Добавлено: 2008-06-12 18:14:50
theBas
Ех надеюсь к 8-ой версии умрет: "либо я, либо осел, либо шах"
а попробовал бы если б умел ети патчи ставить... догадуюсь что patch но за последние две недели стоко манов начитался что исче 1н и мну хватит удар и тогда я точно до 8-ой версии недоживу
Re: device digi
Добавлено: 2008-06-12 18:22:25
paradox
ну мы лиса попросим
он отправит PR
)) его уже в freebsd.org знают
токо нужно будет ваши данные по железу...
вообщем он сам скажет что нужно
если надумает
Re: device digi
Добавлено: 2008-06-12 18:38:29
paradox
ставить=))) а вы что в ручную правили?
#cp patch /usr/src/sys/dev/digi
#cd /usr/src/sys/dev/digi/
#patch -p1 < имя_файла
-p1 это опция убрать одну директорию
тоесть там digi.orig digi.new
соответсвенно
#patch < имя_файла
не прокатит
так как нет у вас каталогов .new .orig
поэтому копируете это в каталог digi и тудаже патч файл
и -p1
и должно все сделать само=)
Re: device digi
Добавлено: 2008-06-12 21:51:52
Alex Keda
ну - давайте данные и патч - накатаю.
и полные денные по железке...
Re: device digi
Добавлено: 2008-06-13 15:29:41
theBas
Код: Выделить всё
Hmm... Looks like a unified diff to me...
The text leading up to this was:
--------------------------
|diff -urN digi.orig/digi.c digi.new/digi.c
|--- digi.orig/digi.c 2008-03-03 00:34:24.000000000 +0200
|+++ digi.new/digi.c 2008-06-11 16:59:38.000000000 +0300
--------------------------
Patching file digi.c using Plan A...
Hunk #1 failed at 383.
1 out of 1 hunks failed--saving rejects to digi.c.rej
Hmm... The next patch looks like a unified diff to me...
The text leading up to this was:
--------------------------
|diff -urN digi.orig/digi_isa.c digi.new/digi_isa.c
|--- digi.orig/digi_isa.c 2004-06-18 21:13:48.000000000 +0300
|+++ digi.new/digi_isa.c 2008-06-11 17:02:51.000000000 +0300
--------------------------
Patching file digi_isa.c using Plan A...
patch: **** malformed patch at line 17: static u_char *
digi.c.rej
Код: Выделить всё
***************
*** 383,389 ****
case PCXE:
case PCXEVE:
case PCXI:
- ptr = sc->setwin(sc, sc->model == PCXI ? 0x2000 : 0x0);
digi_bcopy(sc->fep.data, ptr, sc->fep.size);
/* A BIOS request to move our data to 0x2000 */
--- 383,389 ----
case PCXE:
case PCXEVE:
case PCXI:
+ ptr = sc->setwin(sc, 0x2000);
digi_bcopy(sc->fep.data, ptr, sc->fep.size);
/* A BIOS request to move our data to 0x2000 */
насколько я понимаю ничего не получилось
К стати я ж совсем забыл что 7-у я то снес
и все операции проводил на 5-е. простите имбицила.
Баг кстати есть при компиляции в ядро или автозагрузке модулем:
Код: Выделить всё
digi0: short memory test
digi0: 1st memory test ok
digi0: 2nd memory test ok
digi0: 3rd memory test ok
digi_Xe: Failed 2 to autoload module
при kldload все ок
Re: device digi
Добавлено: 2008-06-13 15:36:59
paradox
ну давайте с 5.x
ваши оригинальные digi/*
посмотрю
хотя оригинально
мы вроде про 7 речь вели
я все по ее соурсам смотрел
и патчи катал=)))
Re: device digi
Добавлено: 2008-06-13 15:47:24
theBas
Re: device digi
Добавлено: 2008-06-13 15:55:39
paradox
хотя 5.x уже помоему не поддерживаеться
токо
6.3
меньшее что я знаю
может тогда вам лучше обновиться до нормальной версии?=)
6.3
или 7.0
на сайте вроде ftp
есть