From owner-freebsd-mobile Mon Jul 9 19:20:43 2001 Delivered-To: freebsd-mobile@freebsd.org Received: from carp.aciri.org (carp.aciri.org [192.150.187.71]) by hub.freebsd.org (Postfix) with ESMTP id 5BA9137B405 for ; Mon, 9 Jul 2001 19:20:40 -0700 (PDT) (envelope-from bkarp@carp.aciri.org) Received: from carp.aciri.org (localhost [127.0.0.1]) by carp.aciri.org (8.11.3/8.11.1) with ESMTP id f6A2KeL08078 for ; Mon, 9 Jul 2001 19:20:40 -0700 (PDT) (envelope-from bkarp@carp.aciri.org) Message-Id: <200107100220.f6A2KeL08078@carp.aciri.org> X-Mailer: exmh version 2.1.1 10/15/1999 From: Brad Karp To: mobile@freebsd.org Subject: Novatel Merlin for Ricochet under FreeBSD Mime-Version: 1.0 Content-Type: text/plain; charset=us-ascii Date: Mon, 09 Jul 2001 19:20:40 -0700 Sender: owner-freebsd-mobile@FreeBSD.ORG Precedence: bulk List-ID: List-Archive: (Web Archive) List-Help: (List Instructions) List-Subscribe: List-Unsubscribe: X-Loop: FreeBSD.org I've just obtained a Novatel Merlin Ricochet PC-Card modem for use with FreeBSD. I hereby preempt any jokes about the Chapter 11 filing of Metricom. :-) The card is meant to behave like an sio-style modem. I've set up a pccard.conf entry for it so that it is attached as an sio card. The card attaches fine, probing as sio1 upon insertion. It's assigned irq 11 (which works fine for me with my WaveLAN PC-Card and Linksys ed PC-Card). If I "cu -s 115200 -l /dev/cuaa1", I can type AT commands to the card successfully, but with one fatal problem: each character I type is echoed only after I type the *next* character. I realized immediately that this is the classic sign of "no receive interrupts being generated"; the sio driver checks for incoming characters in the output routine, such that characters are only read from the device on each output event. I hacked a counter of the number of times siointr() was invoked into /sys/isa/sio.c, and sure enough, there are *zero* invocations of siointr. I've searched the -mobile archives, and have found no detailed information about how to make the Merlin *for Ricochet* work (there was a posting about an old CDPD card, but that's not my hardware, and this is a different problem). There were a few people who posted that they wanted the Merlin to work, and one or two who seemed to suggest they may have had it working. Has anyone had success with the Novatel Merlin for Ricochet under 4.3-RELEASE (or any other release)? Were any driver changes to sio, or otherwise, required? If no one can report success, then I need to figure out why the card is generating no interrupts. I'm guessing there could be two types of cause: either the PC-Card subsystem isn't configuring the card successfully to use the IRQ (though the console output of the PC-Card code shows it being assigned IRQ 11 with no apparent errors), or the Merlin isn't enough like a 16550A (that's how sio detects it) to generate interrupts the way sio configures it. I saw a posting by a Linux user that the Merlin for Ricochet has an unusually large receive FIFO. I have tweaked my sio.c to use a larger interrupt input buffer than the default (calculated in siosetwater()). (Actually, before I did this, I was getting console messages indicating interrupt-level buffer overflow, and they stopped after this hack, so some fix along these lines appears necessary, but insufficient.) I also tried disabling the receive FIFO (by writing 0 to the com_fifo register), and not setting FIFO_RX_HIGH as the receive threshold, by writing only FIFO_ENABLE to the com_fifo register), but still no receive interrupts in either case. I even tried assigning the card IRQs 4, 3, and 7 (all available on my Sony SR7K laptop, which has no serial ports nor parallel port). No interrupts on any of those IRQs. But as I said before, IRQ 11 works for me with all my other cards. Oddly, if I try to "pccardc dumpcis" with the card inserted, I get a lot of garbage (meaningless tables that are obviously nonsense), and if I do this several times, pccardc begins to dump core. Perhaps the Merlin for Ricochet has garbage in its CIS region? All suggestions most appreciated. -Brad, bkarp@icsi.berkeley.edu To Unsubscribe: send mail to majordomo@FreeBSD.org with "unsubscribe freebsd-mobile" in the body of the message