Date: Thu, 15 Jan 2009 15:35:09 +0300 From: Eygene Ryabinkin <rea-fbsd@codelabs.ru> To: Yony Yossef <yonyossef.lists@gmail.com> Cc: Liran Liss <liranl@mellanox.co.il>, freebsd-net@freebsd.org, Oleg Kats <oleg@mellanox.co.il>, "'H.fazaeli'" <fazaeli@sepehrs.com>, 'Julian Elischer' <julian@elischer.org>, Eitan Shefi <eitans@mellanox.co.il>, freebsd-questions@freebsd.org Subject: Re: howto determine network device unit number? device.hints? Message-ID: <FZO3%2BT4xiznlkvBXW7AHG/2PP3c@HEwlnNW4tuDdZ1V6ihYwW3pQ/cw> In-Reply-To: <001701c97702$a301bd90$220f000a@mtl.com> References: <20def4870901140009y1f007108y92797d5f79ffac08@mail.gmail.com> <496E11B7.3010608@sepehrs.com> <000b01c9768e$745aa160$220f000a@mtl.com> <496EF30E.4010304@sepehrs.com> <000c01c976ec$87e040b0$220f000a@mtl.com> <496EF849.7040909@elischer.org> <001501c976f3$5d7a81d0$220f000a@mtl.com> <qVxVwbVAOAXlJ93LFuFQfo4p/WU@HEwlnNW4tuDdZ1V6ihYwW3pQ/cw> <001701c97702$a301bd90$220f000a@mtl.com>
next in thread | previous in thread | raw e-mail | index | archive | help
Thu, Jan 15, 2009 at 01:15:53PM +0200, Yony Yossef wrote: > > You're using your own driver, aren't you? If yes, could you > > show your device_method_t structure and the corresponding > > identify, probe, attach and detach routines? You're setting > > the unit numbers via 'if_initname(ifp, device_get_name(dev), > > device_get_unit(dev))' or alike? > > My device has 2 ports, therefore my if_initname is that: > > if_initname(dev, device_get_name(mdev->pdev), > port + 2 * device_get_unit(mdev->pdev)); So, you totally have four network interfaces -- two for each PCI device? > This is what I captured the last time it happened. > > # pciconf -l | grep mtnic > mtnic0@pci0:19:0:0: class=0x020000 card=0x001715b3 chip=0x636815b3 > rev=0xa0 hdr=0x00 > mtnic1@pci0:16:0:0: class=0x020000 card=0x001715b3 chip=0x636815b3 > rev=0xa0 hdr=0x00 > > # kldunload if_mtnic > # kldload if_mtnic > > # pciconf -l | grep mtnic > mtnic1@pci0:19:0:0: class=0x020000 card=0x001715b3 chip=0x636815b3 > rev=0xa0 hdr=0x00 > mtnic0@pci0:16:0:0: class=0x020000 card=0x001715b3 chip=0x636815b3 > rev=0xa0 hdr=0x00 Could you do the following: 1. Boot with verbose kernel mode (push '5' on the boot screen). 2. Kldload your module and provide the full list of kernel messages you will see after this action. 3. Kldunload and again, provide all messages kernel will print for this. 4. Kldload again and supply all messages for the last time. This will show the PCI enumeration sequence and probe order for your driver pci device units. This might shed some light on the problem. Thanks. -- Eygene _ ___ _.--. # \`.|\..----...-'` `-._.-'_.-'` # Remember that it is hard / ' ` , __.--' # to read the on-line manual )/' _/ \ `-_, / # while single-stepping the kernel. `-'" `"\_ ,_.-;_.-\_ ', fsc/as # _.-'_./ {_.' ; / # -- FreeBSD Developers handbook {_.-``-' {_/ #
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?FZO3%2BT4xiznlkvBXW7AHG/2PP3c>