lkml.org 
[lkml]   [2002]   [Oct]   [24]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
Patch in this message
/
From
SubjectRe: EISA AIC7XXX not detected
Date
On 23 October 2002 13:09, Justin T. Gibbs wrote:
> > Hi,
> >
> > I have an oldie Pentium 66 box which was running OS/2
> > for a very long time. Probably the last OS/2 box in our town :)
> >
> > I want to convert it into backup web server.
> >
> > The problem is that it does not see its disks when I boot Linux.
> > Currently I'm running it in NFS root mode, but 16MB RAM is not
> > much fun without swap :(
> >
> > I'd like to stick printks here and there in driver source,
> > thought you may have some advice.
>
> Since you seem to have enabled the EISA/VLB probe in your config,
> I don't know why your controller is not probed.

I sticked some printks in the code, here is a new syslog output
(diff with printks is an the end).

Oct 21 02:31:50 guard kernel: SCSI subsystem driver Revision: 1.00
Oct 21 02:31:50 guard kernel: vda: ahc_linux_detect(): 1
Oct 21 02:31:50 guard kernel: vda: ahc_linux_detect(): 2
Oct 21 02:31:51 guard kernel: vda: aic7770_linux_probe: probing 0x1c00
Oct 21 02:31:51 guard kernel: vda: aic7770_linux_probe: no EISA card in slot
Oct 21 02:31:51 guard kernel: vda: aic7770_linux_probe: probing 0x2c00
Oct 21 02:31:51 guard kernel: vda: aic7770_linux_probe: no EISA card in slot
Oct 21 02:31:51 guard kernel: vda: aic7770_linux_probe: probing 0x3c00
Oct 21 02:31:51 guard kernel: vda: aic7770_linux_probe: no EISA card in slot
Oct 21 02:31:51 guard kernel: vda: aic7770_linux_probe: probing 0x4c00
Oct 21 02:31:51 guard kernel: vda: aic7770_find_device: id=0x4907782
Oct 21 02:31:51 guard kernel: vda: aic7770_find_device: entry->full_id entry->id_mask id&entry->id_mask
Oct 21 02:31:51 guard kernel: vda: aic7770_find_device: 0x4907771 0xffffffff 0x4907782
Oct 21 02:31:51 guard kernel: vda: aic7770_find_device: 0x4907756 0xfffffffe 0x4907782
Oct 21 02:31:51 guard kernel: vda: aic7770_find_device: 0x4907770 0xffffffff 0x4907782

seems my controller is not considered compatible ;)

Oct 21 02:31:51 guard kernel: vda: aic7770_linux_probe: aic7770_find_device failed
Oct 21 02:31:51 guard kernel: vda: aic7770_linux_probe: probing 0x5c00
Oct 21 02:31:51 guard kernel: vda: aic7770_linux_probe: no EISA card in slot
Oct 21 02:31:51 guard kernel: vda: aic7770_linux_probe: probing 0x6c00
Oct 21 02:31:51 guard kernel: vda: aic7770_find_device: id=0x506d5093
Oct 21 02:31:51 guard kernel: vda: aic7770_find_device: entry->full_id entry->id_mask id&entry->id_mask
Oct 21 02:31:51 guard kernel: vda: aic7770_find_device: 0x4907771 0xffffffff 0x506d5093
Oct 21 02:31:51 guard kernel: vda: aic7770_find_device: 0x4907756 0xfffffffe 0x506d5092
Oct 21 02:31:51 guard kernel: vda: aic7770_find_device: 0x4907770 0xffffffff 0x506d5093
Oct 21 02:31:51 guard kernel: vda: aic7770_linux_probe: aic7770_find_device failed
Oct 21 02:31:51 guard kernel: vda: aic7770_linux_probe: probing 0x7c00
Oct 21 02:31:51 guard kernel: vda: aic7770_linux_probe: no EISA card in slot
Oct 21 02:31:51 guard kernel: vda: aic7770_linux_probe: probing 0x8c00
Oct 21 02:31:51 guard kernel: vda: aic7770_linux_probe: no EISA card in slot
Oct 21 02:31:51 guard kernel: vda: aic7770_linux_probe: probing 0x9c00
Oct 21 02:31:51 guard kernel: vda: aic7770_linux_probe: no EISA card in slot
Oct 21 02:31:51 guard kernel: vda: aic7770_linux_probe: probing 0xac00
Oct 21 02:31:51 guard kernel: vda: aic7770_linux_probe: no EISA card in slot
Oct 21 02:31:51 guard kernel: vda: aic7770_linux_probe: probing 0xbc00
Oct 21 02:31:51 guard kernel: vda: aic7770_linux_probe: no EISA card in slot
Oct 21 02:31:51 guard kernel: vda: aic7770_linux_probe: probing 0xcc00
Oct 21 02:31:51 guard kernel: vda: aic7770_linux_probe: no EISA card in slot
Oct 21 02:31:51 guard kernel: vda: aic7770_linux_probe: probing 0xdc00
Oct 21 02:31:51 guard kernel: vda: aic7770_linux_probe: no EISA card in slot
Oct 21 02:31:51 guard kernel: vda: aic7770_linux_probe: probing 0xec00
Oct 21 02:31:51 guard kernel: vda: aic7770_linux_probe: no EISA card in slot
Oct 21 02:31:51 guard kernel: vda: aic7770_linux_probe: probing 0xfc00
Oct 21 02:31:51 guard kernel: vda: aic7770_find_device: id=0x3d891271
Oct 21 02:31:51 guard kernel: vda: aic7770_find_device: entry->full_id entry->id_mask id&entry->id_mask
Oct 21 02:31:51 guard kernel: vda: aic7770_find_device: 0x4907771 0xffffffff 0x3d891271
Oct 21 02:31:51 guard kernel: vda: aic7770_find_device: 0x4907756 0xfffffffe 0x3d891270
Oct 21 02:31:51 guard kernel: vda: aic7770_find_device: 0x4907770 0xffffffff 0x3d891271
Oct 21 02:31:51 guard kernel: vda: aic7770_linux_probe: aic7770_find_device failed
Oct 21 02:31:51 guard kernel: vda: ahc_linux_detect(): 3
Oct 21 02:31:51 guard kernel: kmod: failed to exec /sbin/modprobe -s -k scsi_hostadapter, errno = 2
Oct 21 02:31:51 guard kernel: NET4: Linux TCP/IP 1.0 for NET4.0

diff -u --recursive linux-2.4.19net3.orig/drivers/scsi/aic7xxx/aic7770.c linux-2.4.19net3/drivers/scsi/aic7xxx/aic7770.c
--- linux-2.4.19net3.orig/drivers/scsi/aic7xxx/aic7770.c Fri Aug 2 22:39:44 2002
+++ linux-2.4.19net3/drivers/scsi/aic7xxx/aic7770.c Thu Oct 24 09:21:20 2002
@@ -93,8 +93,13 @@
struct aic7770_identity *entry;
int i;

+ printk(KERN_DEBUG "vda: aic7770_find_device: id=0x%04x\n",id);
+ printk(KERN_DEBUG "vda: aic7770_find_device: entry->full_id entry->id_mask id&entry->id_mask\n");
for (i = 0; i < ahc_num_aic7770_devs; i++) {
entry = &aic7770_ident_table[i];
+ printk(KERN_DEBUG "vda: aic7770_find_device: 0x%04x 0x%04x 0x%04x\n",
+ entry->full_id,entry->id_mask,id&entry->id_mask
+ );
if (entry->full_id == (id & entry->id_mask))
return (entry);
}
diff -u --recursive linux-2.4.19net3.orig/drivers/scsi/aic7xxx/aic7770_osm.c linux-2.4.19net3/drivers/scsi/aic7xxx/aic7770_osm.c
--- linux-2.4.19net3.orig/drivers/scsi/aic7xxx/aic7770_osm.c Fri Aug 2 22:39:44 2002
+++ linux-2.4.19net3/drivers/scsi/aic7xxx/aic7770_osm.c Thu Oct 24 09:12:05 2002
@@ -58,11 +58,14 @@
eisaBase = 0x1000 + AHC_EISA_SLOT_OFFSET;
found = 0;
for (slot = 1; slot < NUMSLOTS; eisaBase+=0x1000, slot++) {
+ printk(KERN_DEBUG "vda: aic7770_linux_probe: probing 0x%04x\n",eisaBase);
uint32_t eisa_id;
size_t id_size;

- if (check_region(eisaBase, AHC_EISA_IOSIZE) != 0)
+ if (check_region(eisaBase, AHC_EISA_IOSIZE) != 0) {
+ printk(KERN_DEBUG "vda: aic7770_linux_probe: check_region failed\n");
continue;
+ }

eisa_id = 0;
id_size = sizeof(eisa_id);
@@ -72,10 +75,14 @@
eisa_id |= inb(eisaBase + IDOFFSET + i)
<< ((id_size-i-1) * 8);
}
- if (eisa_id & 0x80000000)
+ if (eisa_id & 0x80000000) {
+ printk(KERN_DEBUG "vda: aic7770_linux_probe: no EISA card in slot\n");
continue; /* no EISA card in slot */
+ }

entry = aic7770_find_device(eisa_id);
+ if (entry == NULL)
+ printk(KERN_DEBUG "vda: aic7770_linux_probe: aic7770_find_device failed\n");
if (entry != NULL) {
char buf[80];
char *name;
@@ -88,8 +95,10 @@
*/
sprintf(buf, "ahc_eisa:%d", slot);
name = malloc(strlen(buf) + 1, M_DEVBUF, M_NOWAIT);
- if (name == NULL)
+ if (name == NULL) {
+ printk(KERN_DEBUG "vda: aic7770_linux_probe: malloc failed\n");
break;
+ }
strcpy(name, buf);
ahc = ahc_alloc(template, name);
if (ahc == NULL) {
@@ -98,12 +107,14 @@
* chances are we won't be able to
* allocate future card structures.
*/
+ printk(KERN_DEBUG "vda: aic7770_linux_probe: ahc_alloc failed\n");
break;
}
error = aic7770_config(ahc, entry, eisaBase);
if (error != 0) {
ahc->bsh.ioport = 0;
ahc_free(ahc);
+ printk(KERN_DEBUG "vda: aic7770_linux_probe: aic7770_config failed\n");
continue;
}
found++;
diff -u --recursive linux-2.4.19net3.orig/drivers/scsi/aic7xxx/aic7xxx_osm.c linux-2.4.19net3/drivers/scsi/aic7xxx/aic7xxx_osm.c
--- linux-2.4.19net3.orig/drivers/scsi/aic7xxx/aic7xxx_osm.c Fri Aug 2 22:39:44 2002
+++ linux-2.4.19net3/drivers/scsi/aic7xxx/aic7xxx_osm.c Thu Oct 24 09:03:53 2002
@@ -1116,6 +1116,7 @@
* this lock just prior to calling us.
*/
spin_unlock_irq(&io_request_lock);
+ printk(KERN_DEBUG "vda: ahc_linux_detect(): 1\n");

/*
* Sanity checking of Linux SCSI data structures so
@@ -1167,8 +1168,10 @@
ahc_linux_pci_probe(template);
#endif

+ printk(KERN_DEBUG "vda: ahc_linux_detect(): 2\n");
if (aic7xxx_no_probe == 0)
aic7770_linux_probe(template);
+ printk(KERN_DEBUG "vda: ahc_linux_detect(): 3\n");

/*
* Register with the SCSI layer all
-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/

\
 
 \ /
  Last update: 2005-03-22 13:30    [W:0.062 / U:0.652 seconds]
©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site