Opened 10 years ago
Closed 8 years ago
#11963 closed enhancement (fixed)
ipro1000 wapper recognizes fewer PCI IDs than are supported
Reported by: | Eschaton | Owned by: | nobody |
---|---|---|---|
Priority: | normal | Milestone: | Unscheduled |
Component: | Drivers/Network/ipro1000 | Version: | R1/Development |
Keywords: | Cc: | ||
Blocked By: | Blocking: | ||
Platform: | All |
Description
The ipro1000 driver wrapper driver.c
only recgonizes a small subset of the PCI IDs that are listed as supported by the underlying FreeBSD driver (the list in e1000_hw.h
) and also doesn't provide an "escape hatch" based on a setting in the driver config file.
It'd be good if the ipro1000 driver could provide an escape hatch mechanism via its config file, so testing the driver with a new card didn't require rebuilding it. It'd also be great if it listed support for all of the devices in e1000_hw.h
of course.
(My ulterior motive here is to get networking up & running on my Asus Z97-PRO, which has an Intel I218-V, which should be supported by this driver.)
Attachments (1)
Change History (8)
comment:1 by , 10 years ago
comment:2 by , 10 years ago
I don't know If changing under dev/e1000 are wise these are made more or less direct from FreeBSD if I remember it correct. Thats How Wlan does it any way :)
It would be better top update the code from https://svnweb.freebsd.org/base/release/10.1.0/sys/dev/e1000/
and ether se how we can use FreeBSD code to track cards or add them to identify_device
comment:3 by , 10 years ago
We can't update to FreeBSD 10 easily because the compatibility wrapper needs to be updated too (and all drivers at the same time). The good news is Ithamar is working on that.
We can however merge the new IDs from latest 9.x release if we don't have those yet, and adding a few more IDs is ok until the migration to 10 is done.
follow-up: 5 comment:4 by , 10 years ago
Just to make things clear, I did not commit to doing that at all yet, I've just been discussing how to go about it on the list ;) It is on my TODO list though...
comment:5 by , 10 years ago
Replying to ithamar:
Just to make things clear, I did not commit to doing that at all yet, I've just been discussing how to go about it on the list ;) It is on my TODO list though...
I can handle the ethernet drivers update next week as a first step.
by , 8 years ago
Attachment: | 0001-11963-Add-missing-PCI-IDs-to-ipro1000.patch added |
---|
comment:6 by , 8 years ago
patch: | 0 → 1 |
---|
I managed to get this working with my motherboard! Unfortunately, I'd have to jump through a bunch of hoops and red tape to share a patch. However I can give a general rundown of what modifications need to be made, they were very simple and mostly just ensuring (1) that the
driver.c
glue knew the PCI IDs it should cover and (2) that the existinge1000
code was updated to cover the latest PCI IDs. I gleaned them from looking at the FreeBSD 9 and 10 code.Conceivably the list in
driver.c
should be updated to cover the entire list of device IDs ine1000_hw.h
(maybe in an automated fashion) but this wouldn't have helped my situation, since my chipset actually needed to have an entry added to that too.Anyway, here are the changes needed. With just the below, as soon as I installed a homebuilt driver, my network went active and WebPositive worked.
dev/e1000/e1000_hw.h: Add entries to the list of
#define
constants forE1000_DEV_ID_PCH_I218_{LM2,V2,LM3,V3}
which have consecutive PCI IDs starting with0x15A0
.dev/e1000/e1000_api.c: Add entries to the switch in
e1000_set_mac_type()
forE1000_DEV_ID_PCH_I118_{LM2,V2,LM3,V3}
to do the same thing as the entries forE1000_DEV_ID_PCH_LPTLP_I218_V
.dev/e1000/e1000_ich8lan.c: Add entries for only
E1000_DEV_ID_PCH_I218_{LM3,V3}
to the places that referenceE1000_DEV_ID_PCH_LPTLP_I218_V
.dev/e1000/if_em.c: Add entries to the big array of devices for the constants added to
e1000_hw.h
.driver.c: Add entries to
identify_device()
to also handle the variousI218
PCI IDs.