*BSD News Article 64903


Return to BSD News archive

Path: euryale.cc.adfa.oz.au!newshost.anu.edu.au!harbinger.cc.monash.edu.au!news.bhp.com.au!mel.dit.csiro.au!munnari.OZ.AU!spool.mu.edu!agate!howland.reston.ans.net!swrinde!elroy.jpl.nasa.gov!lll-winken.llnl.gov!venus.sun.com!wnoc-sfc-news!kogwy!hosokawa
From: hosokawa@mt.cs.keio.ac.jp (HOSOKAWA Tatsumi)
Newsgroups: comp.unix.bsd.freebsd.misc,comp.sys.laptops
Subject: [FreeBSD PCMCIA] PC-card support new alpha-release
Followup-To: comp.unix.bsd.freebsd.misc
Date: 30 Mar 1996 17:21:50 GMT
Organization: Tokoro Laboratory, Keio University, Yokohama Japan.
Lines: 349
Message-ID: <4jjqje$43a@kogwy.cc.keio.ac.jp>
NNTP-Posting-Host: beretta.mt.cs.keio.ac.jp
Dnas-Posting-Host: leinlein.mt.cs.keio.ac.jp
X-Newsreader: gn + gnspool [Version 1.31 OCT.1,1994 (Unix)]
Xref: euryale.cc.adfa.oz.au comp.unix.bsd.freebsd.misc:16527 comp.sys.laptops:59411

      PC-card (PCMCIA) package for freebsd --- new alpha release
			    version 960328

			   Tatsumi Hosokawa
			BSD-nomads team, Japan

FreeBSD 2.1.0-RELEASE lacks "real" PC-card (PCMCIA) support.  It
supports only two Ethernet cards (IBM and 3Com) and it doesn't support
so-called "hotplug" feature.  Our PC-card (PCMCIA) package supports
many cards includes Ethernet, FAX/Modem, ISDN, SCSI, Flash ATA, ATA
HDD, etc.

The latest release is version 960328.  You can get it at,

ftp://bash.cc.keio.ac.jp/pub/os/FreeBSD/alpha-test/pccard/pccard-test-960328.tar.gz

This is the README file of this package.......

Enjoy!

--
	HOSOKAWA, Tatsumi              E-mail: hosokawa@mt.cs.keio.ac.jp
	  WWW homepage: http://www.mt.cs.keio.ac.jp/person/hosokawa.html
	Department of Computer Science, Keio University, Yokohama, Japan


-----------------------------------------------------------------------
PCMCIA card package for FreeBSD 2.2-960323-SNAP
Tatsumi Hosokawa <hosokawa@mt.cs.keio.ac.jp>, Yokohama Japan

This package contains the device drivers, the manager daemon, and the
maintainance utilities for PCMCIA cards under FreeBSD
2.2.0-960323-SNAP.

-----------------------------------------------------------------------
			      Attention

This package is alpha-test package.  If you use this package, please
report to <hosokawa@mt.cs.keio.ac.jp> if possible, whether it works or
not, what environment you're using, what problem has happened, how to
avoid this probem, etc.  Patches are more welcome.  Please put
"[pccard-test]" on the head of the "Subject:" to pick it up easily.
If you can drive new cards, please send me the patches and
pccard.conf.  Thanks!
-----------------------------------------------------------------------

I created a web page for this package.  The URL is,

     http://www.mt.cs.keio.ac.jp/person/hosokawa/freebsd-pcmcia/

If you want to know the "current" status of this packge, please check
it!

-----------------------------------------------------------------------
			    Current Status
-----------------------------------------------------------------------
Type    Card                                    	Status	Driver
-----------------------------------------------------------------------
Ethernet
	3Com Etherlink III 3C589			OK	nep
	3Com Etherlink III 3C589B			OK	nep
	3Com Etherlink III 3C589C			OK	nep
	Accton EN2212					OK	ed
	Contec C-NET(PC)C				OK	fe
	Farallon EtherMac				OK	nep
	Fujitsu FMV-J181				OK	fe
	Fujitsu FMV-J182				OK	fe
	Fujitsu FMV-J182A				OK	fe
	Hitachi HT-4840-11				OK	fe
	IBM Creditcard Ethernet I			OK	ed
	IBM Creditcard Ethernet II			OK	ed
	Megahertz Ethernet Adapter			OK	sn
	Megahertz X-Jack Ethernet			OK	sn
	Melco LPC-T					OK	ed
	NextCom J Link NC5310				OK	fe
FAX/Modem
	AIWA PV-JF288					OK	sio
	APEX DATA Mobile Plus V.34			OK	sio
	Fujitsu FMV-JMD712				OK	sio
	GATEWAY2000 MODEM				OK	sio
	Hayes OPTIMA 288 V.34				NG	sio *1
	IBM Push/Pop Modem				OK	sio
	Megahertz XJ1144				OK	sio
	Megahertz XJ2144				OK	sio
	Megahertz XJ2144J				OK	sio
	Megahertz XJ2288				OK	sio
	Megahertz XJ3288J				OK	sio
	NewMedia FAX/Modem 14.4K			OK	sio
	Novalink NovaModem 144				OK	sio
	OMRON ME2814 Fax/Modem				OK	sio
	OMRON MD24XCA Fax/Modem				OK	sio
	Panasonic TO-CAF288				OK	sio
	PREMAX FM288					OK	sio
	TDK DF1414					OK	sio
	TDK DF1414EX					OK	sio
	TDK DF2814B/M					OK	sio
	US Robotics Sportster PCMCIA V.34		OK	sio
	US Robotics COURIER PCMCIA V.34			OK	sio
	Xircom CreditCard Ethernet+Modem (Modem only)	OK	sio *2
ISDN
	BUG Linkboy D64K				OK	sio
Digital Cellular
	NTT DoCoMo DATA/FAX Adapter			OK	sio
IRDA
	IBM PCMCIA Serial IR Adapter Card		NG	sio
SCSI
	Adaptec SlimSCSI APA-1460			OK	aic
	NewMedia BusToaster				OK	aic
	RATOC REX-5535AC				OK	spc
	RATOC REX-5535AMC				OK	spc
	RATOC REX-5535X					OK	spc
Flash ATA
	Epson Flash Packer 5MB				OK	wdc
	Epson Flash Packer 20MB				OK	wdc
	Epson Flash Packer 40MB				OK	wdc
	Midori Elec. Fast Flash				OK	wdc
	SunDisk SPD5-5					OK	wdc
	SunDisk SPD5-20					OK	wdc
	SunDisk SPD-40					OK	wdc
ATA HDD
	Maxtor MobileMax MXL131				OK	wdc
	Mitsubishi M6887-3 170MB			OK	wdc
-----------------------------------------------------------------------

		   The cards we're going to work on
-----------------------------------------------------------------------
Type    Card                                    	Status	Driver
-----------------------------------------------------------------------
Ethernet
	RATOC REX-5585					NG	fe?
FAX/Modem, ISDN, Digital Cellular, IrDA
	All serial PCMCIA cards for PC/AT compatibles	NG	sio
Wireless LAN
	Proxim RangeLAN2				NG	N/A
FM-radio card
	Panasonic FM-text PCMCIA card			NG	sio
SCSI
	IBM PCMCIA SCSI					NG	N/A
	I/O Data PCMCIA SCSI				NG	N/A
	Ratoc REX-5565					NG	N/A
Multi Function Card
	3Com Etherlink III w/FAX Modem 3C562		NG	ep,sio
	Megahertz X-Jack Ethernet w/FAX Modem		NG	sn,sio
-----------------------------------------------------------------------

*1 I've not succeeded making this card working.  Sorry.

*2 We don't want to support any Xircom PCMCIA cards because of their
   harsh policy against free software.

-----------------------------------------------------------------------

To install:

1. Extract this package at /usr/src

	# cd /usr/src
	# tar xvfz "package directory"/pccard-test-960328.tar.gz

2. Backup original /sys file if needed

	# cd /usr/src
	# mkdir sys.ORG
	# cd sys.ORG
	# (chdir ../sys ; tar cf - .) | tar xvf -

3. Apply kernel-patch to kernel source tree

	# cd /usr/src
	# patch -p0 < pccard-test-960328/2.2-960323-SNAP/sys.patch

4. Modify kernel config file for your environment

   /usr/src/sys/i386/conf/LEINLEIN is sample configuration file I'm
   using on Digital Hinote Ultra CS433

   * Don't remove "controller crd0" and "device pcic0" !

	# cd /usr/src/sys/i386/conf
	# cp LEINLEIN "your config file name"
	# vi "your config file name"

    For some particular machines such as Digital Hinote, ThinkPad
    230Cs, etc. we prepared specific "options".  If your machine is
    one of them, please uncomment the corresponding line.

5. Create a symlink for compiling pccard package

	# ln -s /sys/pccard /usr/include

6. Compile your kernel

	# config "your config file name"
	# cd ../../compile/"your config file name"
	# make depend
	# make
	# make install

7. Compile the manager daemon and the utility and install them

	# cd /usr/src/pccard-test-960328
	# cd usr.sbin/pccard/pccardd
	# make
	# make install BINDIR=/usr/sbin
	# cd ../pccardc
	# make
	# make install BINDIR=/usr/sbin

8. Create device files for your pccard slots and APM BIOS

	# cd /dev
	# sh MAKEDEV card0
	# sh MAKEDEV card1
	# sh MAKEDEV apm

9. Install PC-card configuration file and modify it for your
   environment

	pccard-test-960328/2.2-960323-SNAP/etc/pccard.conf.sample is
	sample config file currently I'm using on my laptops.

	# cp /usr/src/pccard-test-960328/2.2-960323-SNAP/etc/pccard.conf.sample /etc/pccard.conf
	
10. Modify /etc/sysconfig

	# cd /etc
	# mv sysconfig sysconfig.orig
	# cp /usr/src/pccard-test-960328/2.2-960323-SNAP/etc/sysconfig /etc

11. Install /etc/rc.pccard, /etc/pccard_ether and /etc/pccard_ether_remove

	# cp /usr/src/pccard-test-960328/2.1.0-RELEASE/etc/rc.pccard /etc
	# cp /usr/src/pccard-test-960328/2.1.0-RELEASE/etc/pccard_ether /etc
	# cp /usr/src/pccard-test-960328/2.1.0-RELEASE/etc/pccard_ether_remove /etc

12. Edit /etc/sysconfig

	# vi /etc/sysconfig


Troubleshooting:

* This kernel hangs up when it probes APM BIOS.

  -> Some implementations of protected mode APM BIOS has serious bugs.
     At first, confirm that your laptop has the latest BIOS.  These
     days, BIOS'es of many laptops has been updated to fix these bugs
     of protected mode APM BIOS because Windows 95 uses it.  If the
     BIOS is not latest one, update it soon.  Even if the BIOS is the
     latest one, you can "cope with" these problems by modifying the
     kernel source.  If you're a hacker, try to solve your problem by
     adding a new entry in /usr/src/sys/i386/include/laptops.h
     corresponding to your machine, and try to solve this problem.  If
     your problem is solved, please send us a report about your
     solution (and of course your environment).  If you're not hacker,
     boot the kernel with "kernel -c" and type simply "disable apm0" :-).

* My machine sleeps twice after the invocation of zzz command.  Why?

  -> This problem is caused by the ambiguousness of APM BIOS
     specification.  I think that the APM BIOS specification has
     ambiguous definitions about the "state" of devices and the timing
     of the generation of event messages.  So it can be implemented in
     some diffent ways.  Try to use APM_SUSPEND_POSTPONE or
     APM_SUSPEND_DELAY options to avoid this problem.  See
     /usr/src/sys/i386/include/laptops.h.

* APM driver says that the version of APM is 53.14.  What is APM
  53.14???

  -> If APM driver reports this value, get-version function (APM 1.1
     or above) is broken.  Try to use FORCE_APM10 option. See
     /usr/src/sys/i386/include/laptops.h.  I think that this problem
     can be avoided automatically.  So you can't see this problem in
     the future releases.  Currently there are only APM 1.0 and APM
     1.1 machines.  Microsoft released the new APM 1.2 specification,
     but I've not seen any APM 1.2 machines.

* Failed to probe PCMCIA FAX/Modem cards (or other serial cards) while
  the entries of /etc/pccard.conf seems to be correct.

  -> Case 1: Add a new entry in /usr/src/sys/i386/include/laptops.h
     corresponding to your machine and add SIO_IRQ_BUG or SIO_IRQ_BUG2
     in it (see DHULTRA and TP230 entry in laptops.h)

     Case 2: Specify explicitly the larger value of "reset" in the
     entry of /etc/pccard.conf (default is 100)

	card "OMRON Corp." "MD24XCA"
		config	0x23 "sio2" 16
		reset	10000

     Case 3: Specify the IRQ 16 at the corresponding entry in
     /etc/pccard.conf.  It forces serial driver to be in program I/O
     mode.  It produces less performance and higher overhead (polling
     routine is called 200 times per second when you're using
     FAX/Modem) in kernel mode.  I don't recommend this mode.

	card "Panasonic" "CF-JVR101" 
	       config 0x22 "sio3" 16	# IRQ 16 means PIO mode

* Failed to use NE-2000 compatible Ethernet cards while the entries of
  /etc/pccard.conf seems to be correct

  -> Some NE-2000 compatible Ethernet card has weired CIS tupples
     about the description of shared memory address (Accton EN-2212,
     etc.). Adding flags 0x10 at the corresponding entry of
     /etc/pccard.conf.  It diables the use of shared memory and force
     the driver to work in program I/O mode.

        card "ACCTON" "EN2212"
            config  0x1 "ed0" 11 0x10	# flags 0x10 means PIO mode
            ether   0xff0

     Please note that it can make the performance very poor on
     particular environment.  Sometimes it works slower than the ISDN
     cards (but, for example Digital Hinote Ultra CS433 with Melco
     LPC-T in this mode can receive data at 4Mbps via TCP).

TODO (Please help us!):

1. Write documents such as "/etc/pccard.conf writer's guide" and "Plug'n 
   Play hotplug device drivers writer's guide"
2. Support Databook TCIC card controller.
3. Implement all PC-card functionalities (multiple memory window, etc.).
4. Make all drivers more stable.
5. This package is unstable, especially on Digital Hinote Ultra (We
   can't use Flash ATA on this machine, APM is unstable, etc.).


Thanks to....:

Andrew McRae <amcrae@cisco.com> (for the original pccard package)
Nate Williams <nate@sri.MT.net>
Atsuo Ohki <ohki@gssm.otsuka.tsukuba.ac.jp>
Members of BSD-nomads Mailing List
	Especially,
	Naoki Hamada <nao@tom-yam.or.jp> (for ep driver)
	Hidetoshi Kimura <h-kimura@tokyo.se.fujitsu.co.jp> (for aic driver)
	T. Matsutsuka <matsu@cs.titech.ac.jp> (for spc driver)
	Hidetoshi Kimura <h-kimura@tokyo.se.fujitsu.co.jp> (for fe driver)
	DOTEGUCHI Masahiro <xdote@rp.open.cs.fujitsu.co.jp> (for pccard daemon)
	Akihiro Hirano <hirano@dsp.cl.nec.co.jp>
	Kunikazu Yoda <yoda@ais.kudpc.kyoto-u.ac.jp>
	Toshihisa Eto <eto@ai.cs.fujitsu.co.jp>
	Hajimu UMEMOTO <ume@iabs.hitachi.co.jp>
And many alpha-testers....

Tatsumi Hosokawa