OSDev.org

The Place to Start for Operating System Developers
It is currently Fri Apr 19, 2024 7:11 pm

All times are UTC - 6 hours




Post new topic Reply to topic  [ 9 posts ] 
Author Message
 Post subject: Writing ethernet driver for i219 (e1000e)
PostPosted: Wed Mar 21, 2018 1:07 pm 
Offline

Joined: Mon Feb 05, 2018 11:18 am
Posts: 9
Hi,

I'm trying to write a driver for the i219. My basic driver works on QEMU with th e1000 card. I've now shifted to real hardware and I've made the changes mentioned in the i217 page (https://wiki.osdev.org/Intel_Ethernet_i217), but the driver doesn't seem to be working. I'm trying to look a the i219 datasheet to see how it differs from older cards but the datasheet is very different. There's no reference to a receive descriptor address register or a transmission control register. Even the numbering of the registers is different. Does anyone know how to use the datasheet?


Top
 Profile  
 
 Post subject: Re: Writing ethernet driver for i219 (e1000e)
PostPosted: Wed Mar 21, 2018 2:59 pm 
Offline
Member
Member
User avatar

Joined: Wed Jul 13, 2011 7:38 pm
Posts: 558
The I219 is just the PHY, unlike the 825xx series of combination MAC/PHY chips. The MAC is actually in the PCH. You'll need to figure out what PCH you have, then grab the datasheets for it and figure out how to access the MAC in it and configure it.


Top
 Profile  
 
 Post subject: Re: Writing ethernet driver for i219 (e1000e)
PostPosted: Thu Mar 22, 2018 2:11 am 
Offline
Member
Member
User avatar

Joined: Sat Mar 31, 2012 3:07 am
Posts: 4594
Location: Chichester, UK
Why are you following instructions for the i217 when writing a driver for the i219? They are not the same.


Top
 Profile  
 
 Post subject: Re: Writing ethernet driver for i219 (e1000e)
PostPosted: Fri Mar 23, 2018 8:23 am 
Offline

Joined: Sun Jul 07, 2013 7:29 pm
Posts: 16
Kazinsal wrote:
The I219 is just the PHY, unlike the 825xx series of combination MAC/PHY chips. The MAC is actually in the PCH. You'll need to figure out what PCH you have, then grab the datasheets for it and figure out how to access the MAC in it and configure it.

I also found confusing finding out exact network hardware.

`lshw` shows I have a 'Ethernet Connection (2) I219-LM' connected to my PCI bus and Linux kernel driver e1000e is used. Neither `dmidecode` nor `lshw` shows my chipset version. So I opened my purchase invoice and it says it is `ASUS Q170M-C/CSM` motherboard based on `Intel Q170` chipset. Its spec says that it has integrated MAC but does not specify what version https://ark.intel.com/products/90587/Intel-Q170-Chipset

Q170 chipset is based on Intel 100 series. The specification PCH https://www.intel.com/content/www/us/en ... vol-1.html mentions gigabit ethernet controller (chapter 21) but I did not find anything about exact nomenclature that can be used to determine datasheet for my network controller.

So how do you guys find HW chip version/datasheet for your PCH based network controller?


Top
 Profile  
 
 Post subject: Re: Writing ethernet driver for i219 (e1000e)
PostPosted: Fri Mar 23, 2018 6:56 pm 
Offline

Joined: Mon Feb 05, 2018 11:18 am
Posts: 9
I started with the e1000 as the base line and then I looked at the i217 osdev page as there are no resources for the i219 that I can find. and they both use the e1000e driver.
The transmission part of my driver is working but not my receive. Any ideas as to why?


Top
 Profile  
 
 Post subject: Re: Writing ethernet driver for i219 (e1000e)
PostPosted: Fri Mar 23, 2018 7:23 pm 
Offline

Joined: Mon Feb 05, 2018 11:18 am
Posts: 9
I also know that my processor is the Intel® Core™ i7-6770HQ, and the datasheets for the 6th generation intel core processor can be found here:
https://www.intel.com/content/www/us/en ... vol-1.html
https://www.intel.com/content/www/us/en ... vol-2.html

they mention that the Ethernet controller used is the i219 but again, I can't make out how to program the driver from these.


Top
 Profile  
 
 Post subject: Re: Writing ethernet driver for i219 (e1000e)
PostPosted: Fri Mar 23, 2018 7:34 pm 
Offline
Member
Member

Joined: Thu May 17, 2007 1:27 pm
Posts: 999
The PCI vendor and device IDs should exactly tell you which controller you have. Find the datasheet corresponding to your PCI IDs.

_________________
managarm: Microkernel-based OS capable of running a Wayland desktop (Discord: https://discord.gg/7WB6Ur3). My OS-dev projects: [mlibc: Portable C library for managarm, qword, Linux, Sigma, ...] [LAI: AML interpreter] [xbstrap: Build system for OS distributions].


Top
 Profile  
 
 Post subject: Re: Writing ethernet driver for i219 (e1000e)
PostPosted: Fri Mar 23, 2018 7:34 pm 
Offline

Joined: Mon Feb 05, 2018 11:18 am
Posts: 9
They do. I know I have the i219-LM


Top
 Profile  
 
 Post subject: Re: Writing ethernet driver for i219 (e1000e)
PostPosted: Fri Mar 23, 2018 7:35 pm 
Offline

Joined: Mon Feb 05, 2018 11:18 am
Posts: 9
What I'm looking for is a datasheet or manual that explains the driver programming interface... which as I mentioned in the first post, the i219s datasheet doesn't


Top
 Profile  
 
Display posts from previous:  Sort by  
Post new topic Reply to topic  [ 9 posts ] 

All times are UTC - 6 hours


Who is online

Users browsing this forum: Bing [Bot], Google [Bot] and 159 guests


You cannot post new topics in this forum
You cannot reply to topics in this forum
You cannot edit your posts in this forum
You cannot delete your posts in this forum
You cannot post attachments in this forum

Search for:
Jump to:  
Powered by phpBB © 2000, 2002, 2005, 2007 phpBB Group