From owner-freebsd-questions@FreeBSD.ORG Fri Jul 19 15:56:23 2013 Return-Path: Delivered-To: questions@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [8.8.178.115]) by hub.freebsd.org (Postfix) with ESMTP id 2B78BB5A for ; Fri, 19 Jul 2013 15:56:23 +0000 (UTC) (envelope-from gkeramidas@gmail.com) Received: from tux-cave.hellug.gr (tux-cave.hellug.gr [195.134.99.74]) by mx1.freebsd.org (Postfix) with ESMTP id 135411C8 for ; Fri, 19 Jul 2013 15:56:20 +0000 (UTC) X-Spam-Status: No X-Hellug-MailScanner-From: gkeramidas@gmail.com X-Hellug-MailScanner-SpamCheck: not spam, SpamAssassin (not cached, score=-2.9, required 5, autolearn=not spam, ALL_TRUSTED -1.00, BAYES_00 -1.90) X-Hellug-MailScanner: Found to be clean X-Hellug-MailScanner-ID: r6JFr9rL031383 Received: from giorgos.local (217-162-217-29.dynamic.hispeed.ch [217.162.217.29]) (authenticated bits=0) by tux-cave.hellug.gr (8.14.4/8.14.4/Debian-4) with ESMTP id r6JFr9rL031383 (version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-SHA bits=256 verify=NOT); Fri, 19 Jul 2013 18:53:16 +0300 Received: by giorgos.local (Postfix, from userid 1800799460) id D912D7E897D; Fri, 19 Jul 2013 17:52:59 +0200 (CEST) From: keramida@ceid.upatras.gr (Giorgos Keramidas) To: Michel Behr Subject: Re: Bill Paul's network drivers References: Date: Fri, 19 Jul 2013 17:52:59 +0200 In-Reply-To: (Michel Behr's message of "Wed, 17 Jul 2013 13:28:39 -0300") Message-ID: <67um8rd2qer1gk.fsf@saturn.laptop> User-Agent: Gnus/5.13 (Gnus v5.13) Emacs/24.3.50 (darwin) MIME-Version: 1.0 Content-Type: text/plain Cc: questions@freebsd.org X-BeenThere: freebsd-questions@freebsd.org X-Mailman-Version: 2.1.14 Precedence: list List-Id: User questions List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Fri, 19 Jul 2013 15:56:23 -0000 On Wed, 17 Jul 2013 13:28:39 -0300, Michel Behr wrote: > Hi > > I'm considering learning how to build drivers, so I can make my Lenovo S400 > wireless card get detected by FreeBSD. > > The Architecture Handbook cites these "Bill Paul's network drivers". > > 9.5 Network Drivers: Drivers for network devices do not use device nodes in > order to be accessed. Their selection is based on other decisions made > inside the kernel and instead of calling open(), use of a network device is > generally introduced by using the system call socket(2). > > For more information see ifnet(9), the source of the loopback device, and > Bill Paul's network drivers. > > Where can I find those Bill Paul's network drivers? All network drivers are part of the kernel sources. You should have them in your /usr/src/sys directory. Having said that, the networking stack is a large piece of software, with many parts and interactions between them. If you are planning to get into that sort of development, you should probably consider reading a _book_ about how things work. Two excellent books about drivers and networking are: "FreeBSD Device Drivers" by Joseph Kong (Stark Press) "The Design and Implementation of the FreeBSD Operating System" by Marshall Kirk Mc Kusick & George V. Neville-Neil (Addison-Wesley)