From owner-freebsd-hackers Sat Jun 29 20:10:54 1996 Return-Path: owner-hackers Received: (from root@localhost) by freefall.freebsd.org (8.7.5/8.7.3) id TAA04110 for hackers-outgoing; Sat, 29 Jun 1996 19:17:41 -0700 (PDT) Received: from who.cdrom.com (who.cdrom.com [204.216.27.3]) by freefall.freebsd.org (8.7.5/8.7.3) with SMTP id TAA04007 for ; Sat, 29 Jun 1996 19:16:21 -0700 (PDT) Received: from godzilla.zeta.org.au (godzilla.zeta.org.au [203.2.228.19]) by who.cdrom.com (8.6.12/8.6.11) with ESMTP id MAA18107 for ; Sat, 29 Jun 1996 12:15:12 -0700 Received: (from bde@localhost) by godzilla.zeta.org.au (8.6.12/8.6.9) id EAA15627; Sun, 30 Jun 1996 04:56:56 +1000 Date: Sun, 30 Jun 1996 04:56:56 +1000 From: Bruce Evans Message-Id: <199606291856.EAA15627@godzilla.zeta.org.au> To: andrew@pubnix.net, hackers@FreeBSD.ORG Subject: Re: SWAP DCD & DSR in sio.c + Question Sender: owner-hackers@FreeBSD.ORG X-Loop: FreeBSD.org Precedence: bulk >I recently got a BocaBoard 16 port box for my FreeBSD system. Much to my >shock & horror, it uses 10 pin RJ45s (RJ69 expensive and hard to get), >with DCD on pin 1. So I figured, there isn't much that can't be fixed >with a little software, and I patched sio.c to SWAP DCD and DSR signals. >The patch works by assigning the flag 0x0010 to indicate that DCD and DSR >should be swapped (this is a standard option on Digiboard products, with >RJ45s, it seems). It might be easier to do this by swapping the #defines. This would only work if swapping is wanted on all sio ports. However, you could clone sio.c to produce a special one with swapping. >What if one wanted have more than 32 sio ports on a system? Wait for devfs. >Can sio.c be patched to support upto 64 ports? No, not without throwing away one set of special minors (lock state would be best). 32 ports seemed enough in 1994 and devfs should have been finished by now :-). >I created siox.c which is a clone of sio.c except that it shows up as >siox in the drivers. How do I assign a different major number to it? Pick one and edit conf.c to add struct entries for it. All (externally referenced) external names for the driver must be unique. This is easier in -current where there is no conf.c and only a couple of external names per driver. Bruce