Skip site navigation (1)Skip section navigation (2)
Date:      Tue, 6 May 1997 08:41:47 -0400
From:      "Paul Werkowski" <pw@snoopy.mv.com>
To:        <mobile@freebsd.org>
Subject:   PAO/Megahertz 4288
Message-ID:  <199705061242.IAA09672@bort.mv.net>

next in thread | raw e-mail | index | archive | help
I spent some time this past weekend attempting to get this
Megahertz XJ4288 card to work with FreeBSD 2.2.1 and failed.
Searching the archives on FreeBSD.org pointed me to the PAO
system which I downloaded and installed on this NEC 2635 notebook.
Looks like a lot of work was done in this area. Thank you!

After some fiddling around, I managed to get the thing to at
least be recognized, and maybe even work,
but there are some strange things to report.

1. The first time the card is probed after booting BSD, the
following message appears.

	No card in database for ""("")

Previous to installing PAO this message was

	No card in database for ""

2. So, I now extract and reinsert card (config line ends in "any")

	Card inserted, slot 1
	Code 128 not found
	code Unknown ignored
	Card "Megahertz"("XJ-CC4288") matched "Megahertz"("XJ-CC4288")
	crd: IRQ allocation failed.
	driver allocation failed for Megahertz(Invalid argument).

This is sort of what was happening pre PAO.

3. So, now change "any" to "5" in config (no quotes of course).

	Card inserted, slot 1
	Code 128 not found
	code Unknown ignored
	Card "Megahertz"("XJ-CC4288") matched "Megahertz"("XJ-CC4288")
	sio2: Warning: irq_pending error.
	sio2: type 16550A
				<<< note no "inserted" msg.
And now going into seyon, I find I can type AT commands to the
modem but there is some problem. The "a" of AT echos back
right away but any subsequent character echos are delayed by
one character.

4. Change "5" to "pio"

	Card inserted, slot 1
	Code 128 not found
	code Unknown ignored
	Card "Megahertz"("XJ-CC4288") matched "Megahertz"("XJ-CC4288")
	sio2: type 16550A
	Megahertz XJ-CC4288 inserted.	<<< note completion message

Now, in seyon, all seems ok. All typed characters echo correctly
and life is swell.

So, is this normal for PAO? What is happening with the irqs?

FYI here is the config data used (after disabling most things in bios)
----------------------------------
# Generally available IO ports
io	0x240-0x2e0 0x300-0x360
# Generally available IRQs
irq	 3 4 5 9 11
# Available memory slots
memory	0xd4000	96k

#-----------------------------------------------------------------------
# Were not for special reasons, please add new entries at the top of
# this file when you wrote new entries for unsupported cards.
# And, if you succeed using new unsupported cards, please e-mail me
# the new entries.
# Tatsumi Hosokawa <hosokawa@jp.FreeBSD.org>
#-----------------------------------------------------------------------

# ......... for unsupported cards .........


card "Megahertz" "XJ-CC4288"
	config 0x22 "sio2" pio
	insert	echo Megahertz XJ-CC4288 inserted
	remove	echo Megahertz XJ-CC4288 removed

-----------------------------
and the output from pccardc dumpcis

Code 128 not found
Code 128 not found
code Unknown ignored
Configuration data for card in slot 1
Tuple #1, code = 0x1 (Common memory descriptor), length = 3
    000:  00 00 ff
	Common memory device information:
		Device number 1, type No device, WPS = OFF
		Speed = No speed, Memory block size = 512b, 1 units
Tuple #2, code = 0x15 (Version 1 info), length = 50
    000:  05 00 4d 65 67 61 68 65 72 74 7a 00 58 4a 2d 43
    010:  43 34 32 38 38 00 56 2e 33 34 20 44 61 74 61 2f
    020:  46 61 78 2f 43 65 6c 6c 20 50 43 20 43 61 72 64
    030:  00 ff
	Version = 5.0, Manuf = [Megahertz],card vers = [XJ-CC4288]
	Addit. info = [V.34 Data/Fax/Cell PC Card],[ÿ]
Tuple #3, code = 0x20 (Manufacturer ID), length = 4
    000:  02 01 23 00
	PCMCIA ID = 0x102, OEM ID = 0x23
Tuple #4, code = 0x1a (Configuration map), length = 5
    000:  01 23 00 03 03
	Reg len = 2, config register addr = 0x300, last config = 0x23
	Registers: XX------ 
Tuple #5, code = 0x1b (Configuration entry), length = 16
    000:  e0 41 99 49 55 26 25 aa 60 f8 03 07 30 ff ff 28
	Config index = 0x20(default)
	Interface byte = 0x41 (I/O)  +RDY/-BSY active
	Vcc pwr:
		Nominal operating supply voltage: 5 x 1V
		Continuous supply current: 2 x 100mA
		Power down supply current: 2 x 10mA
	Card decodes 10 address lines, 8 Bit I/O only
		I/O address # 1: block start = 0x3f8 block length = 0x8
		IRQ modes: Level
		IRQs:  0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15
	Max twin cards = 0
	Misc attr: (Audio-BVD2) (Power down supported)
Tuple #6, code = 0x1b (Configuration entry), length = 7
    000:  21 08 aa 60 f8 02 07
	Config index = 0x21
	Card decodes 10 address lines, 8 Bit I/O only
		I/O address # 1: block start = 0x2f8 block length = 0x8
Tuple #7, code = 0x1b (Configuration entry), length = 7
    000:  22 08 aa 60 e8 03 07
	Config index = 0x22
	Card decodes 10 address lines, 8 Bit I/O only
		I/O address # 1: block start = 0x3e8 block length = 0x8
Tuple #8, code = 0x1b (Configuration entry), length = 7
    000:  23 08 aa 60 e8 02 07
	Config index = 0x23
	Card decodes 10 address lines, 8 Bit I/O only
		I/O address # 1: block start = 0x2e8 block length = 0x8
Tuple #9, code = 0x21 (Functional ID), length = 2
    000:  02 01
	Serial port/modem - POST initialize
Tuple #10, code = 0x22 (Functional EXT), length = 4
    000:  00 02 0f 7c
	Serial interface extension:
		16550 UART, Parity - Space,Mark,Odd,Even,
Tuple #11, code = 0x22 (Functional EXT), length = 9
    000:  01 1f 0d 00 03 00 00 03 00
	Modem interface capabilities:
Tuple #12, code = 0x22 (Functional EXT), length = 12
    000:  02 06 00 3f 1c 03 03 0f 07 00 02 b5
	Data modem services available:
Tuple #13, code = 0x22 (Functional EXT), length = 8
    000:  13 06 00 0f 00 02 00 b5
Tuple #14, code = 0x22 (Functional EXT), length = 8
    000:  23 06 00 0f 00 02 00 b5
Tuple #15, code = 0x0 (Null tuple), length = 7
    000:  02 01 23 00 05 00 ff
Tuple #16, code = 0x14 (No link), length = 0
Tuple #17, code = 0xff (Terminator), length = 0
2 slots found


and finally the kernel config file.
#
# VERSA -- for the NEC 2635CD
#
machine		"i386"
cpu		"I386_CPU"
cpu		"I486_CPU"
cpu		"I586_CPU"
ident		VERSA
maxusers	10

options		INET			#InterNETworking
options		FFS			#Berkeley Fast Filesystem
options		NFS			#Network Filesystem
options		MSDOSFS			#MSDOS Filesystem
options		"CD9660"		#ISO 9660 Filesystem
options		PROCFS			#Process filesystem
options		"COMPAT_43"		#Compatible with BSD 4.3 [KEEP THIS!]
options		SCSI_DELAY=15		#Be pessimistic about Joe SCSI device
options		UCONSOLE		#Allow users to grab the console
options		XSERVER
options		FAILSAFE		#Be conservative
options		USERCONFIG		#boot -c editor
options		LAPTOP

# PC-card suspend/resume support (experimental)
options		APM_PCCARD_RESUME
options		PCIC_RESUME_RESET

# Suspend the system when the battery status is "Low"
#options	"APM_BATT_LOW_SUSPEND"

# If you want to use NTP on laptop machines, uncomment the following 
# option.  Current APM implementation affects NTP client.
#options	"APM_NO_CLOCK_ADJUST"

# Don't suspend the system immediately before the system is resumed
# from suspended mode (Default 3 seconds)
options		"APM_NOSUSPEND_IMMEDIATE=3"

config		kernel	root on wd0

controller	isa0
controller	pci0

controller	fdc0	at isa? port "IO_FD1" bio irq 6 drq 2 vector fdintr
disk		fd0	at fdc0 drive 0
disk		fd1	at fdc0 drive 1
tape		ft0	at fdc0 drive 2

controller	wdc0	at isa? port "IO_WD1" bio irq 14 vector wdintr
disk		wd0	at wdc0 drive 0

controller	wdc1	at isa? port "IO_WD2" bio irq 15 vector wdintr

options		ATAPI		#Enable ATAPI support for IDE bus
options		ATAPI_STATIC	#Don't do it as an LKM
device		wcd0		#IDE CD-ROM

device		sc0	at isa? port "IO_KBD" tty irq 1 vector scintr

options		SYSVSHM
options 	SYSVMSG
options		SYSVSEM

# Mandatory, don't remove
# assumes patched syscons after 2.2.1
device		npx0	at isa? port "IO_NPX" irq 13 vector npxintr

#
# Laptop support (see LINT for more options)
#
device		apm0    at isa?		# Advanced Power Management
options		APM_BROKEN_STATCLOCK	# Workaround some buggy APM BIOS

# PCCARD (PCMCIA) support
controller	crd0
device		pcic0	at crd?
device		pcic1	at crd?

device		sio0	at isa? port "IO_COM1" tty irq 4 vector siointr
device		sio1	at isa? port "IO_COM2" tty irq 3 vector siointr
device		sio2	at isa? port "IO_COM3" tty irq 5 vector siointr

device		lpt0	at isa? port? tty irq 7 vector lptintr
device		psm0	at isa? port "IO_KBD" conflicts tty irq 12 vector psmintr

controller	snd0
device sb0      at isa? port 0x220 irq 10 drq 1 vector sbintr
options		"SBC_IRQ=10"

pseudo-device	loop
pseudo-device	ether
pseudo-device	log
pseudo-device	sl	1
# ijppp uses tun instead of ppp device
pseudo-device	ppp	1
pseudo-device	tun	1
pseudo-device	pty	16
#pseudo-device	gzip		# Exec gzipped a.out's



----- end of message ---

Paul Werkowski
pw@snoopy.mv.com




Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?199705061242.IAA09672>