Hpt371 driver on CSB272 board

rs L lonsn2000 at yahoo.com.cn
Thu Sep 16 22:38:26 EST 2004


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 at 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 at 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 at red:~# ls
> chris  hello1  lichen  lily
> root at red:~# cd prog      /programs/
> root at 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 at red:/programs# cd hpt1.2
> root at 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 at 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!?
嫌邮箱太小?雅虎电邮自助扩容!
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.ozlabs.org/pipermail/linuxppc-dev/attachments/20040916/3c5bd72d/attachment.htm>


More information about the Linuxppc-dev mailing list