Hpt371 driver on CSB272 board

From: rs L <hidden>
Date: 2004-09-16 12:45:09

Hi,Dear All,
  I tried to add a Rocket 133s card and a harddisk into the 
CSB272  card which is a demo card with PPC405GP and montavisa linux 3.0. I inserted  the Rocket 133s card(pci-to-ide card with hpt371 chip on it)to the CSB272  board PCI slot, and connected the IDE harddisk to it with special IDE line  and turn on the power.
   First I cross-compiled the hpt371 chip linux driver with 
ppc_405-gcc  and ppc_405-ld.Second I compiled the embedded linux kernel again with  ATA/IDE and SCSI supports(scsi harddisk support).Because the hpt371 driver is written by scsi mode, to insmod hpt371.o must modprobe sd_mod which  needed scsi.o and sd_mod.o. Then I started the embedded linux,but when I ran  the order: #insmod hpt371.o the error appeared.
   The system chocked at Partition check.The screen appear: 
Partition  check
sda:
but the driver can get some harddisk information at the beginnig of insmod hpt371.o,such as VenderID,DeviceID,and harddisk capacity(40G).I have compiled scsi  support,partition support,file type on the harddisk,but it didn't work. The  driver is good when I used it in the linux on my PC,it can find the partition information and files on the harddisk.I cannot find what problem in the kernel or the driver. Please tell me some important supports on compiling kernel or  selections about driver.
I have did as the HPT371 supporting worker told me(type the hdx=noprobe to avoid two 
driver loaded  for hpt371), but it didn't work.
The debug infomation follows below,my Linux version is > 2.4.18_mvl30-walnut.
U-Boot 1.1.1 (Sep  6 2004 - 11:32:49)

CPU:   IBM PowerPC 405GP Rev. E at 198 MHz (PLB=66, OPB=16, EBC=33 
MHz)
       PCI sync clock at 33 MHz, internal PCI arbiter enabled
       16 kB I-Cache 8 kB D-Cache
BOARD: Cogent CSB272
I2C:   ready
DRAM:  64 MB
FLASH: erase_region_count = 128 erase_region_size = 131072
32 MB
In:    serial
Out:   serial
Err:   serial
BEDBUG:ready
Hit any key to stop autoboot:  5 
u-boot=> run bootcmd
ENET Speed is 100 Mbps - HALF duplex connection
TFTP from server 10.96.10.215; our IP address is 10.96.10.216
Filename 'zImage_scsi.bin'.
Load address: 0x200000
Loading: 
*#################################################################
  #################################################################
  ################################
done
Bytes transferred = 829146 (ca6da hex)
## Booting image at 00200000 ...
   Image Name:   Linux kernel Image
   Created:      2004-09-14   8:22:26 UTC
   Image Type:   PowerPC Linux Kernel Image (gzip compressed)
   Data Size:    829082 Bytes = 809.7 kB
   Load Address: 00000000
   Entry Point:  00000000
   Verifying Checksum ... OK
   Uncompressing Kernel Image ... OK
Linux version 2.4.18_mvl30-walnut (root@Redhat) (gcc version 3.2.1 
20020930 
(MontaVista)) #40 Tue Sep 14 16:19:49 CST 2004
CSB272 (IBM405GP) Platform
Port by MontaVista Software, Inc. (source@mvista.com)
On node 0 totalpages: 15360
zone(0): 15360 pages.
zone(1): 0 pages.
zone(2): 0 pages.
Kernel command line: console=ttyS0,38400 hda=noprobe root=/dev/nfs rw 
mem=60M nfsroot=10.96.10.215:/home/mvkit/ppc405/target 
ip=10.96.10.216:10.96.10.215:10.96.10.254:255.255.255.0:red::off
ide_setup: hda=noprobe -- BAD OPTION
Calibrating delay loop... 197.83 BogoMIPS
Memory: 58520k available (1376k kernel code, 468k data, 92k init, 0k 
highmem)
Dentry-cache hash table entries: 8192 (order: 4, 65536 bytes)
Inode-cache hash table entries: 4096 (order: 3, 32768 bytes)
Mount-cache hash table entries: 1024 (order: 1, 8192 bytes)
Buffer-cache hash table entries: 1024 (order: 0, 4096 bytes)
Page-cache hash table entries: 16384 (order: 4, 65536 bytes)
POSIX conformance testing by UNIFIX
PCI: Probing PCI hardware
PCI: Cannot allocate resource region 0 of device 00:01.0
PCI: Cannot allocate resource region 1 of device 00:01.0
PCI: Cannot allocate resource region 2 of device 00:01.0
PCI: Cannot allocate resource region 3 of device 00:01.0
PCI: Cannot allocate resource region 4 of device 00:01.0
Linux NET4.0 for Linux 2.4
Based upon Swansea University Computer Society NET3.039
Initializing RT netlink socket
OCP uart ver 1.2 init complete
Starting kswapd
Disabling the Out Of Memory Killer
Journalled Block Device driver loaded
EFS: 1.0a - http://aeschi.ch.eu.org/efs/
i2c-core.o: i2c core module version 2.6.2 (20011118)
i2c-dev.o: i2c /dev entries driver module version 2.6.2 (20011118)
i2c-proc.o version 2.6.2 (20011118)
initialize_kbd: Keyboard reset failed, no ACK
Detected PS/2 Mouse Port.
pty: 256 Unix98 ptys configured
Serial driver version 5.05c (2001-07-08) with MANY_PORTS SHARE_IRQ 
SERIAL_PCI enabled
ttyS00 at 0xef600300 (irq = 0) is a 16550A
ttyS01 at 0xef600400 (irq = 1) is a 16550A
IBM gpio driver version 02.01.21.d
GPIO #0 at 0xef600700
PPC 405 watchdog driver v0.5
block: 128 slots per queue, batch=32
RAMDISK driver initialized: 16 RAM disks of 4096K size 1024 blocksize
Uniform Multi-Platform E-IDE driver Revision: 6.31
ide: Assuming 33MHz system bus speed for PIO modes; override with 
idebus=xx
eth0: Phy @ 0x0, type LXT971A (0x001378e2)
Reset ethernet interfaces
SCSI subsystem driver Revision: 1.00
request_module[scsi_hostadapter]: Root fs not mounted
request_module[scsi_hostadapter]: Root fs not mounted
IBM On-chip iic (i2c) algorithm module 2002.30.04
iic_ibmocp_init: IBM on-chip iic adapter module
NET4: Linux TCP/IP 1.0 for NET4.0
IP Protocols: ICMP, UDP, TCP, IGMP
IP: routing cache hash table of 512 buckets, 4Kbytes
TCP: Hash tables configured (established 4096 bind 8192)
opening eth0 on emac 0
eth0: IBM EMAC: link up, 100 Mbps Half Duplex, auto-negotiation 
complete.
eth0: IBM EMAC: MAC 00:0b:db:65:36:1f.
eth0: IBM EMAC: open completed
IP-Config: Complete:
      device=eth0, addr=10.96.10.216, mask=255.255.255.0, 
gw=10.96.10.254,
     host=red, domain=, nis-domain=(none),
     bootserver=10.96.10.215, rootserver=10.96.10.215, rootpath=
NET4: Unix domain sockets 1.0/SMP for Linux NET4.0.
Looking up port of RPC 100003/2 on 10.96.10.215
Looking up port of RPC 100005/1 on 10.96.10.215
V/FS: Mounted rooeing unused kernel memory: 92k init
INIT: version 2.78 booting
nfs_refresh_inode: inode number mismatch
expected (0x303/0x1e4109), got (0x303/0x7456b)
Activating swap...
Checking all file systems...
Parallelizing fsck version 1.22 (22-Jun-2001)
Calculating module dependencies... nfs_refresh_inode: inode number 
mismatch
expected (0x303/0x22c67f), got (0x303/0x22c682)
nfs_refresh_inode: inode number mismatch
expected (0x303/0x22c680), got (0x303/0x22c683)
depmod: *** Unrenfs_refresh_inode: inode number mismatch
expected (0x303/0x22c681), got (0x303/0x22c684)
nfs_refresh_inode: inode number mismatch
expected (0x303/0x22c682), got (0x303/0x22c685)
solved symbols infs_refresh_inode: inode number mismatch
expected (0x303/0x22c683), got (0x303/0x22c67e)
n /lib/modules/2.4.18_mvl30-walnut/kernel/fs/ext3/ext3.o
depmod: *** Unresolved symbols in 
/lib/modules/2.4.18_mvl30-walnut/kernel/fs/jbd/jbd.o
depmod: *** Unresolved symbols in 
/lib/modules/2.4.18_mvl30-walnut/kernel/fs/reiserfs/reiserfs.o
done.
Loading modules: 
mkdir: cannot create directory `/dev/pts': File exists
Mounting local filesystems...
nothing was mounted
Cleaning: /etc/network/ifstate.
Setting up IP spoofing protection: rp_filter.
Disable TCP/IP Explicit Congestion Notification: done.
Configuring network interfaces: done.
Starting portmap daemon: portmap.
Cleaning: /tmp /var/lock /var/run.
nfs_refresh_inode: inode number mismatch
expected (0x303/0x1a868a), got (0x303/0x1a8aad)
INIT: Entering runlevel: 3
Starting system log daemon: syslogd klogd.
Starting internet superserver: inetd.
nfs_refresh_inode: inode number mismatch
expected (0x303/0x7456e), got (0x303/0x7456b)

MontaVista Linux 3.0, Professional Edition

red login: root
Last login: Thu Jan  1 00:00:15 1970 on console
Linux red 2.4.18_mvl30-walnut #40 Tue Sep 14 16:19:49 CST 2004 ppc 
unknown
root@red:~# ls
chris  hello1  lichen  lily
root@red:~# cd prog      /programs/
root@red:/programs# ls
chenny  hello.exe     hpt1.2  ldd2-samples-1.0.1  scsi.o
demux  hello1        hpt371  mmap       sd_mod.o
hello  hello2        hpt371.o  pro       v5series
hello.c  helloworld.c  info.txt  replex       v6series
root@red:/programs# cd hpt1.2
root@red:/programs/hpt1.2# ls
Makefile   command.h   glbdata.c  hpt3xx.c    idevice.c   readme.txt
atapi.h    compiler.h  global.h   hpt3xx.h    ihpt3xx.c   stypes.h
channel.c  device.c    hpt.c   hptproc.c   init.c   vdevice.c
channel.h  device.h    hpt.o   hpttempl.h  osheader.h  vdevice.h
chip.h    entry.c     hpt371.o   ichip.c     oslinux.h
root@red:/programs/hpt1.2# insmod hpt37` 1.o
HPT371 UDMA/ATA133 Controller driver
Version 1.1, Compiled Sep 14 2004 16:34:33
Scan for chips...
hpt3xx: detected 33Mhz PCI clock
Scan for devices...
scsi0 : hpt371

hpt3xx_QueueCommand() 0/0/0 cdb=(12000000-ff000000-13560ae8)

----- Leaving hpt3xx_queueCommand() -----

  Vendor: MAXTOR 6  Model: L040J2            Rev: AR1.
  Type:   Direct-Access                      ANSI SCSI revision: 00

hpt3xx_QueueCommand() 0/1/0 cdb=(12000000-ff000000-13560ae8)

----- Leaving hpt3xx_queueCommand() -----


hpt3xx_QueueCommand() 0/2/0 cdb=(12000000-ff000000-13560ae8)

----- Leaving hpt3xx_queueCommand() -----


hpt3xx_QueueCommand() 0/3/0 cdb=(12000000-ff000000-13560ae8)

----- Leaving hpt3xx_queueCommand() -----


hpt3xx_QueueCommand() 0/4/0 cdb=(12000000-ff000000-13560ae8)

----- Leaving hpt3xx_queueCommand() -----


hpt3xx_QueueCommand() 0/5/0 cdb=(12000000-ff000000-13560ae8)

----- Leaving hpt3xx_queueCommand() -----


hpt3xx_QueueCommand() 0/6/0 cdb=(12000000-ff000000-13560ae8)

----- Leaving hpt3xx_queueCommand() -----


hpt3xx_QueueCommand() 0/7/0 cdb=(12000000-ff000000-13560ae8)

----- Leaving hpt3xx_queueCommand() -----

Attached scsi disk sda at scsi0, channel 0, id 0, lun 0

hpt3xx_QueueCommand() 0/0/0 cdb=(0-0-7db0)

----- Leaving hpt3xx_queueCommand() -----


hpt3xx_QueueCommand() 0/0/0 cdb=(25000000-0-7db0)

----- Leaving hpt3xx_queueCommand() -----

SCSI device sda: 78177791 512-byte hdwr sectors (40027 MB)
Partition check:
 sda:
hpt3xx_QueueCommand() 0/0/0 cdb=(28000000-0-8007db0)

//============

----- Leaving hpt3xx_queueCommand() -----
 By the way,
   Linux version is 2.4.18_mvl30-walnut on Power PC 405GP
   HPT371 Driver Opensouce Version is hpt371 1.1 attached in the accessory 
   I used ppc_405-gcc and ppc_405-ld for cross-compiling .
   Please help me to find where is the problem in compiling embedded linux
   kernel or U-boot or CSB272 board or hpt371 driver .Thank you very much!
          Zheng Hongchao
               2004.9.16



---------------------------------
Do You Yahoo!?
嫌邮箱太小?雅虎电邮自助扩容!
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help