Post subject: asus_eee/i2c driver fails w/NULL pointer exception on 1000HE
Posted: Wed Jun 24, 2009 9:17 am
Joined: Tue Jun 23, 2009 4:30 pm Posts: 6 Location: South West England
eeePC model: 1000HE
Aurora version: NBR 3.0.1
Hello fellow Eeebuntu users. I've just jumped into the Eee world, and loving it so far but it seems that support for my shiny new 1000HE is not entirely there.
The asus_eee module doesn't seem to be able to operate: with both the 2.6.28-12-netbook and 2.6.29-1-netbook kernels, there is an exception during boot.
Post subject: asus_eee/i2c driver fails w/NULL pointer exception on 1000HE
Posted: Wed Jun 24, 2009 1:15 pm
Joined: Thu Mar 12, 2009 1:43 am Posts: 1369
eeePC model: 1000HE
Aurora version: Beta 4.0
ChrisMX6 wrote:
Hello fellow Eeebuntu users. I've just jumped into the Eee world, and loving it so far but it seems that support for my shiny new 1000HE is not entirely there.
The asus_eee module doesn't seem to be able to operate: with both the 2.6.28-12-netbook and 2.6.29-1-netbook kernels, there is an exception during boot.
The above output is from a fully-updated NBR 3.0.1 system, as of yesterday. The end result is that the driver is non-functional.
Code:
$ ls /proc/eee ls: cannot access /proc/eee: No such file or directory
Can anyone help?
We've been chasing this for a while, unfortunately since I don't have access to a 1000HE I have been unable to really troubleshoot it. I think the issue is that the kernel isn't exposing the clock generator to i2c, what I'm wondering though is if 2.6.30 corrects it.
I had already got the new kernel trying to get video to work better (UXA) via the 'optimal' setting. That was a miserable failure on my box, but I'm certainly willing to download that kernel again to test for you. What commands/output would you like to see? I assume you'd want them at support@fewt.com? I have a 1000HA, rather than a 1000HE like ChrisMX6.
siege
_________________ Asus EeePC 1000HA - EB4 Beta 1.0 Asus V series - CentOS 5.5 Asus P series - Untangle
Post subject: asus_eee/i2c driver fails w/NULL pointer exception on 1000HE
Posted: Wed Jun 24, 2009 2:23 pm
Joined: Thu Mar 12, 2009 1:43 am Posts: 1369
eeePC model: 1000HE
Aurora version: Beta 4.0
siege wrote:
fewt,
I had already got the new kernel trying to get video to work better (UXA) via the 'optimal' setting. That was a miserable failure on my box, but I'm certainly willing to download that kernel again to test for you. What commands/output would you like to see? I assume you'd want them at support@fewt.com? I have a 1000HA, rather than a 1000HE like ChrisMX6.
siege
I mainly want to see dmesg, and to know if /proc/netbook/bus_control or /proc/eee/fsb exists (and has accurate information in the file).
When you had me safely mv asus-eee.ko so that it would not interfere with netbook.ko, I noticed that asus-eee.ko was the only thing in its parent directory. However, netbook.ko was in a different directory and was not alone in there. I cannot remember either parent directory's name.
Does the parent directory (path) matter for the .ko files? Can more than one .ko file be in a single directory? Is it okay that asus-eee.ko and netbook.ko were in different directories?
siege
_________________ Asus EeePC 1000HA - EB4 Beta 1.0 Asus V series - CentOS 5.5 Asus P series - Untangle
I'm not sure if you're using fewt's developmental utilities or the mainline ones... I'm using the developmental ones. Not sure which is preferable for this particular thread; probably the main ones.
siege
_________________ Asus EeePC 1000HA - EB4 Beta 1.0 Asus V series - CentOS 5.5 Asus P series - Untangle
Post subject: asus_eee/i2c driver fails w/NULL pointer exception on 1000HE
Posted: Tue Jun 30, 2009 6:42 am
Joined: Tue Jun 23, 2009 4:30 pm Posts: 6 Location: South West England
eeePC model: 1000HE
Aurora version: NBR 3.0.1
Fewt,
I've done some digging. I see that you already have the correction listed on the ArchLinux site, so that isn't it. But the reason for the NULL pointer exception is the combination of two bugs in eee_pll_init().
// Fill the eee_pll_data buffer. eee_pll_read(); }
1. The call to i2c_get_adapter(0) fails to find the i2c smbus adapter. 2. There is no error checking of the return value, so there is a subsequent exception during eee_pll_read.
Bug 2 is easy to fix, but bug 1 is the important one. I don't know the root cause, and I know very little about I2C buses, but one possible cause is that it needs rewriting in a different way. To quote the code: "Note that this isn't really the "proper" way to use the I2C API...".
However another possibility, one that seems more likely to me, is that the I2C interface has been hidden by the BIOS. The file /usr/src/linux/Documentation/i2c/busses/i2c-i801 says:
Code:
If your system has an Intel ICH south bridge, but you do NOT see the SMBus device at 00:1f.3 in lspci, and you can't figure out any way in the BIOS to enable it, it means it has been hidden by the BIOS code. Asus is well known for first doing this on their P4B motherboard, and many other boards after that. Some vendor machines are affected as well.
Well, this is an Asus, and there's nothing at 00:1f.3, so perhaps that's the reason for the i2c_get_adapter fail. I am now way out of my depth, and have no idea of the correct way to solve this, or if it's something else, so Fewt could you help please?
Post subject: asus_eee/i2c driver fails w/NULL pointer exception on 1000HE
Posted: Tue Jun 30, 2009 12:26 pm
Joined: Thu Mar 12, 2009 1:43 am Posts: 1369
eeePC model: 1000HE
Aurora version: Beta 4.0
ChrisMX6 wrote:
Fewt,
I've done some digging. I see that you already have the correction listed on the ArchLinux site, so that isn't it. But the reason for the NULL pointer exception is the combination of two bugs in eee_pll_init().
// Fill the eee_pll_data buffer. eee_pll_read(); }
1. The call to i2c_get_adapter(0) fails to find the i2c smbus adapter. 2. There is no error checking of the return value, so there is a subsequent exception during eee_pll_read.
Bug 2 is easy to fix, but bug 1 is the important one. I don't know the root cause, and I know very little about I2C buses, but one possible cause is that it needs rewriting in a different way. To quote the code: "Note that this isn't really the "proper" way to use the I2C API...".
However another possibility, one that seems more likely to me, is that the I2C interface has been hidden by the BIOS. The file /usr/src/linux/Documentation/i2c/busses/i2c-i801 says:
Code:
If your system has an Intel ICH south bridge, but you do NOT see the SMBus device at 00:1f.3 in lspci, and you can't figure out any way in the BIOS to enable it, it means it has been hidden by the BIOS code. Asus is well known for first doing this on their P4B motherboard, and many other boards after that. Some vendor machines are affected as well.
Well, this is an Asus, and there's nothing at 00:1f.3, so perhaps that's the reason for the i2c_get_adapter fail. I am now way out of my depth, and have no idea of the correct way to solve this, or if it's something else, so Fewt could you help please?
Thanks, Chris
You are absolutely correct, it's not the proper way to talk to use the i2c api (I just borrowed someone elses module, I don't know how to write it better yet). The SMBios is being hidden, you are correct on that also.
I tried unhiding it, but it doesn't seem to work on the ICH7. The she interface works just as well though it seems, I'm getting 9.4 hours out of my new HE using it.
Users browsing this forum: No registered users and 0 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