Bug 195761

Summary: udev 071 breaks loading matroxfb
Product: [Fedora] Fedora Reporter: Miguel Freitas <miguel>
Component: udevAssignee: Harald Hoyer <harald>
Status: CLOSED RAWHIDE QA Contact:
Severity: medium Docs Contact:
Priority: medium    
Version: 4   
Target Milestone: ---   
Target Release: ---   
Hardware: i386   
OS: Linux   
Whiteboard:
Fixed In Version: Doc Type: Bug Fix
Doc Text:
Story Points: ---
Clone Of: Environment:
Last Closed: 2007-09-20 10:34:53 UTC Type: ---
Regression: --- Mount Type: ---
Documentation: --- CRM:
Verified Versions: Category: ---
oVirt Team: --- RHEL 7.3 requirements from Atomic Host:
Cloudforms Team: --- Target Upstream Version:
Embargoed:
Attachments:
Description Flags
lsmod using udev 071
none
find /sys -name dev (using udev 071 - same state as lsmod)
none
lsmod using udev 058
none
find /sys -name dev (using udev 058) none

Description Miguel Freitas 2006-06-17 13:13:42 UTC
Description of problem:

there are other bugreports about new udev 071 loading unrequested fb drivers on
x init (#180003 and #179041), however my problem is exactly the opposite: i do
use matroxfb for a dualhead setup - just that udev 071 broke it.

i had to downgrade to udev 058 to fix my system.

Version-Release number of selected component (if applicable):

udev_071-0.FC4.3
note: same problem with different fc4 kernels (2.6.13-1.1532, 2.6.14-1.1656,
2.6.15-1.1830, 2.6.16-1.2115)
note: same problem with different module-init-tools (3.2-0.pre9.0.FC4.4 and
3.2.2-0.FC4.1)

How reproducible:

always

Steps to Reproduce:
1. install udev-071
2. modprobe matroxfb_g450
3. 
  
Actual results:

/dev/fb0 is not created.

here is the only matroxfb related messages in dmesg:
kernel: Driver for 1-wire Dallas network protocol.
kernel: matrox_w1 0000:01:00.0: Matrox G400 GPIO transport layer for 1-wire.

it is interesting that matroxfb is loaded and "fb" is correctly listed as
character device in /proc/devices. trying old and good MAKEDEV doesn't work
either...

Expected results:

framebuffer devices (fb0, fb1, etc) are correctly initialized.

notice the expected dmesg messages for my boot script:
kernel: matroxfb: Matrox G450 detected
kernel: PInS memtype = 4
kernel: matroxfb: MTRR's turned on
kernel: matroxfb: 640x480x8bpp (virtual: 640x26214)
kernel: matroxfb: framebuffer at 0xD8000000, mapped to 0xe0c80000, size 16777216
kernel: Console: switching to colour frame buffer device 80x30
kernel: fb0: MATROX frame buffer device
kernel: matroxfb_crtc2: secondary head of fb0 was registered as fb1


Additional info:

the boot script i have been using for ages (since kernel 2.4.10 or something):
modprobe matroxfb_g450
modprobe matroxfb_crtc2 mem=2048
modprobe syncfb
fbset -fb /dev/fb1 "1024x768-75" -depth 16

Comment 1 Harald Hoyer 2006-06-19 06:30:53 UTC
/dev/fb* is not created _at all_? Or just a little bit later?
If modprobe is executed, the device node is created in the background. Maybe the
fbset runs before udev can create it?

Comment 2 Miguel Freitas 2006-06-19 23:16:48 UTC
yes, it is not created at all. this is also the reason why my X fails to initialize.

i have a good background on driver development for linux 2.4, but i lost track
with udev - i don't have a clue on how it works.

so, i'm actually puzzled with two things:

1) the modules are correctly loaded, including all their dependencies. how can a
problem in udev cause then to not initialize? (i'm talking about the lack of
basic matroxfb messages on kernel log).

2) "fb" is listed in /proc/devices, so i would guess the module has sucessfuly
registered the character device. still, it doesn't work even if i do the mknod
manually.


Comment 3 Harald Hoyer 2006-06-20 10:21:45 UTC
could you provide the output of:
# lsmod
and
# find /sys -name dev

Please.

Comment 4 Miguel Freitas 2006-06-21 00:57:22 UTC
Created attachment 131243 [details]
lsmod using udev 071

Comment 5 Miguel Freitas 2006-06-21 00:58:45 UTC
Created attachment 131244 [details]
find /sys -name dev (using udev 071 - same state as lsmod)

Comment 6 Harald Hoyer 2006-06-21 08:45:22 UTC
# find /sys -name dev 
Does not list any framebuffer device. Could you please post the lsmod and find
output with udev-058. Udev creates the devices according to the entries in /sys,
which are provided by the kernel. So, I suspect other (additional) modules are
loaded.

Comment 7 Miguel Freitas 2006-06-22 02:06:22 UTC
Created attachment 131329 [details]
lsmod using udev 058

Comment 8 Miguel Freitas 2006-06-22 02:07:40 UTC
Created attachment 131330 [details]
find /sys -name dev (using udev 058)

Comment 9 Miguel Freitas 2006-06-22 02:24:14 UTC
"install matrox_w1 /bin/true" in /etc/modprobe.conf fixed it.

perhaps matrox_w1 is broken or something.

is this the proper fix?


Comment 10 Christian Iseli 2007-01-20 00:07:01 UTC
This report targets the FC3 or FC4 products, which have now been EOL'd.

Could you please check that it still applies to a current Fedora release, and
either update the target product or close it ?

Thanks.

Comment 11 Miguel Freitas 2007-01-20 22:59:27 UTC
Christian, it was not EOL'd by the time i reported it...

unfortunately i can no longer reproduce the issue. 
after using RH distros since 1998, last week i switched to opensuse (no, not
because of this problem).