- 论坛徽章:
- 0
|
scsi driver testing.
The scsi driver sample sst compiled successfully. but when loaded there were some errors,
May 26 17:38:21 jackv genunix: [ID 935449 kern.info] ATA DMA off: disabled. Control with "atapi-cd-dma-enabled" property
May 26 17:38:21 jackv genunix: [ID 882269 kern.info] PIO mode 4 selected
May 26 17:38:21 jackv genunix: [ID 935449 kern.info] ATA DMA off: disabled. Control with "atapi-cd-dma-enabled" property
May 26 17:38:21 jackv genunix: [ID 882269 kern.info] PIO mode 4 selected
May 26 17:38:21 jackv genunix: [ID 819705 kern.notice] /usr/kernel/drv/sst: undefined symbol
May 26 17:38:21 jackv genunix: [ID 826211 kern.notice] 'scsi_setup_cdb'
May 26 17:38:21 jackv genunix: [ID 819705 kern.notice] /usr/kernel/drv/sst: undefined symbol
May 26 17:38:21 jackv genunix: [ID 826211 kern.notice] 'scsi_alloc_consistent_buf'
May 26 17:38:21 jackv genunix: [ID 819705 kern.notice] /usr/kernel/drv/sst: undefined symbol
May 26 17:38:21 jackv genunix: [ID 826211 kern.notice] 'scsi_ifsetcap'
May 26 17:38:21 jackv genunix: [ID 819705 kern.notice] /usr/kernel/drv/sst: undefined symbol
May 26 17:38:21 jackv genunix: [ID 826211 kern.notice] 'scsi_errmsg'
May 26 17:38:21 jackv genunix: [ID 819705 kern.notice] /usr/kernel/drv/sst: undefined symbol
May 26 17:38:21 jackv genunix: [ID 826211 kern.notice] 'scsi_destroy_pkt'
search on google and got the solution, the line below added to the source then the problem solved.
char _depends_on[] = "misc/scsi";
======================================================Then new problem happened. scsi_probe reported no response error.
May 26 18:10:53 jackv usba: [ID 691482 kern.warning] WARNING: /pci@0,0/pci15ad,1976@7,2 (uhci0): No SOF interrupts have been received, this USB UHCI host controller is unusable
May 26 18:10:53 jackv sst: [ID 902828 kern.notice] sst0: No response from target 5, lun 0
This is because no target 5 scsi, changed the number to 3(I have such a device), then it worked.
======================================================
debug logs displayed on console not in the message file. edit the syslogd.conf file, and restart syslog as below,
svcadm restart svc:/system/system-log:default
or svcadm restart /system/system-log
but config syslog did not solved the problem. checked the code, the line below caused the problem.
cmn_err(CE_CONT, "^%s:\t%s", name, buf);
get rid of '^' and it worked.
======================================================
now the driver could do some work. use target=3 in the driver, and use a script to create links to the device file.
-bash-3.00# mkfs /dev/rdsk/c2t2d0s2 8192
Warning: the requested size of this file system
(8192 sectors) is greater than the size of the
device reported by the driver (0 sectors).
However, a read of the device at the requested size
does succeed, so the requested size will be used.
/dev/rdsk/c2t2d0s2: 8192 sectors in 16 cylinders of 16 tracks, 32 sectors
4.0MB in 1 cyl groups (16 c/g, 4.00MB/g, 1920 i/g)
super-block backups (for fsck -F ufs -o b=#) at:
32,
Only slice 2 worked(size is not corect). others report "/dev/rdsk/c2t2d0s3: No such device or address". anyway, the driver worked. and the driver sd for target 3 was 'automatically' replaced by the new driver.
本文来自ChinaUnix博客,如果查看原文请点:http://blog.chinaunix.net/u1/38597/showart_312001.html |
|