lists.openwall.net   lists  /  announce  owl-users  owl-dev  john-users  john-dev  passwdqc-users  yescrypt  popa3d-users  /  oss-security  kernel-hardening  musl  sabotage  tlsify  passwords  /  crypt-dev  xvendor  /  Bugtraq  Full-Disclosure  linux-kernel  linux-netdev  linux-ext4  linux-hardening  linux-cve-announce  PHC 
Open Source and information security mailing list archives
 
Hash Suite: Windows password security audit tool. GUI, reports in PDF.
[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Date:	Mon, 26 Nov 2012 09:06:12 +0000 (UTC)
From:	Woody Wu <narkewoody@...il.com>
To:	linux-kernel@...r.kernel.org
Subject: Re: The ethernet driver doesn't get probed

On 2012-11-26, Li, Zhen-Hua <lizhenhua.dev@...il.com> wrote:
> First you  should run "lspci -n" to check your device ID and vendor
> ID, and make sure they are in the map list in
> /lib/modules/<your-version>/modules.alias .
>

For some reasons, I cannot build the driver as loadable modules since I
have to get network before mount the root filesystem.  And, this
ethernet controller is not PCI interface, so probabaly the lspci won't
help.  Is there any other way to get the device ID and vendor ID?
Thanks.

>
> On Mon, Nov 26, 2012 at 3:47 PM, Belisko Marek
> <marek.belisko@...il.com> wrote:
>> On Mon, Nov 26, 2012 at 7:59 AM, Woody Wu <narkewoody@...il.com>
>> wrote:
>>> Hi, List
>>>
>>> I enabled an ax88796 Ethernet driver in the kernel configuration
>>> menu.  Kernel version is 3.4.19. The arch is ARM and the system type
>>> is Samsung S3C2410.
>>>
>>> In my debugging, I found the probe function of the driver did not
>>> get invoked.
>> Did you define platform data and platform device in board file?  See:
>> arch/arm/mach-pxa/colibri-pxa300.c (line ~87)
>>>
>>> This driver is declared as platform_driver
>>>
>>> static struct platform_driver axdrv = { .driver = { .name
>>> = "ax88796", .owner          = THIS_MODULE, }, .probe          =
>>> ax_probe, .remove         = ax_remove, .suspend        = ax_suspend,
>>> .resume         = ax_resume, };
>>>
>>> module_platform_driver(axdrv);
>>>
>>> So, its driver init function actually goes through
>>> platform_driver_register() and then driver_register(), which
>>> eventually call driver_attach() trying to attach the driver to the
>>> "platform" bus.  But, on the platform bus, there is no any device
>>> that can match the ax88796 driver, hence the driver failed in
>>> attaching.
>>>
>>> I discovered the full list of devices found on the platform bus:
>>>
>>>     s3c2410-ohci, s3c2410-lcd, s3c2410-wdt, s3c2410-i2c,
>>>     s3c24xx-iis, s3c2410-nand, s3c24xx_led, s3c2410-uart,
>>>
>>> You see, in the list, there is no a device looks like ax88796. All
>>> these already existed devices on the platform bus are build-in
>>> peripherals on the SoC of s3c2410, they are compiled into the code
>>> by enabling some kernel configuration options.
>>>
>>> My question is, in terms of Linux driver technology, how to enable a
>>> non-PCI and not on-chip device driver? I think the ax_probe function
>>> must be called somehow, is this thinking right? If yes, I think
>>> before the driver get initialized, the corresponding device has to
>>> appear on the bus, but now it seems not.
>>>
>>> Thanks in advance.
>>>
>>> -- woody I can't go back to yesterday - because I was a different
>>> person then.
>>>
>>> -- To unsubscribe from this list: send the line "unsubscribe
>>> linux-kernel" in the body of a message to majordomo@...r.kernel.org
>>> More majordomo info at  http://vger.kernel.org/majordomo-info.html
>>> Please read the FAQ at  http://www.tux.org/lkml/
>>
>> Cheers,
>>
>> mbe
>>
>> -- as simple and primitive as possible
>> ------------------------------------------------- Marek Belisko -
>> OPEN-NANDRA Freelance Developer
>>
>> Ruska Nova Ves 219 | Presov, 08005 Slovak Republic Tel: +421 915 052
>> 184 skype: marekwhite twitter: #opennandra web:
>> http://open-nandra.com -- To unsubscribe from this list: send the
>> line "unsubscribe linux-kernel" in the body of a message to
>> majordomo@...r.kernel.org More majordomo info at
>> http://vger.kernel.org/majordomo-info.html Please read the FAQ at
>> http://www.tux.org/lkml/


-- woody I can't go back to yesterday - because I was a different person
then.

--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@...r.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/

Powered by blists - more mailing lists