Bug 134641

Summary: vmware udev, missing /sys devices
Product: Red Hat Enterprise Linux 3 Reporter: Warren Togami <wtogami>
Component: vmwareAssignee: Todd Barr <tbarr>
Status: CLOSED UPSTREAM QA Contact:
Severity: medium Docs Contact:
Priority: medium    
Version: 3.0CC: harald, jharnish, katzj
Target Milestone: ---   
Target Release: ---   
Hardware: All   
OS: Linux   
Whiteboard:
Fixed In Version: Doc Type: Bug Fix
Doc Text:
Story Points: ---
Clone Of: Environment:
Last Closed: 2004-11-27 22:50:09 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:
Bug Depends On:    
Bug Blocks: 123268, 136451    

Description Warren Togami 2004-10-05 12:07:21 UTC
Description of problem:
(Filing here because we are lacking RHEL4 vmware component.)

http://ftp.cvut.cz/vmware/
vmware works great on FC3/RHEL4 after using the latest
vmware-any-any-* patchkit from the above URL.  vmware-config.pl
successfully builds and inserts kernel modules vmmon and vmnet, and
creates the /dev/vmnetX device nodes.

However after reboot, vmware fails because the /dev nodes are gone. 
vmware's kernel modules need to be modified to be compatible with udev.

<harald> warren, the kernel modules create a /sys/ file called dev
<harald> warren, try "find /sys -name dev"
<harald> warren, the contents of this file is the major:minor number
<harald> warren, hotplug events call udev and udev looks for that file
<harald> warren, then udev creates the device node
<warren> harald, sounds like I need to edit the kernel module if the
/sys entry is currently missing?
<harald> yep
<harald> warren, hint: class_simple_device_add
<harald> warren, drivers/base/class_simple.c
<warren> harald, other than the /sys entry, anything else I need to
add?  /etc/udev something?
<harald> warren, not if the permissions should be 0600 and the device
name should not be changes

Technically this is not OUR problem as this needs to be fixed in
vmware's vmmon and vmnet modules.  These sources appear to be
distributed in both vwmware and the vmware-any-any patch kit.  However
the license on those code are in question.

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

Comment 1 Warren Togami 2004-10-05 12:19:01 UTC
More info:
* vmmon DOES successfully create /sys/class/misc/vmmon/dev so
/dev/vmmon is correctly created.
* Inserting vmnet alone does not create any entires in
/sys/class/net/, but one vmnet entry does appear for NAT interfaces
after using vmware-config.pl.  Other vmnet interfaces for host-only or
bridged do not appear.

I am guessing that vmnet already does have code for /sys entries, but
it only works when vmnet is loaded with certain parameters, and only
once during loading?  More investigation needed.

Comment 2 Warren Togami 2004-10-09 02:34:19 UTC
*** Bug 135084 has been marked as a duplicate of this bug. ***

Comment 3 Warren Togami 2004-10-09 02:35:20 UTC
vmware has been notified of this and is working on a long term solution.


Comment 4 Harald Hoyer 2004-10-11 08:22:31 UTC
the vmware kernel modules should provide a "dev" entry in the sysfs ...
Workaround:
manually copy the devices to /etc/udev/devices and they will be copied
on system start to /dev
see:
http://people.redhat.com/~harald/udev.html

Comment 5 Warren Togami 2004-10-13 10:44:02 UTC
Keeping open for tracking purposes and to reduce duplicate reports.

Comment 6 Rex Basham 2004-10-17 16:57:29 UTC
A quick fix is to run the vmware-config.pl to create the appropriate
/dev/vm* entries and then copy these to /etc/udev/devices with:

# cp -rp /dev/vm* /etc/udev/devices/

vmware finds the devices correctly on subsequent reboots.  Not a long
term fix but eliminates the need to rerun vmware-config.pl every time
the machine is rebooted.

Comment 7 Warren Togami 2004-11-27 22:50:09 UTC
The vmware-any-any toolkit now creates device nodes during the initscript, and
the upcoming vmware 5 should have a similar solution.  sysfs symbols have become
GPL only, so it is impossible for them to use udev to create device nodes.  In
any case this is not our problem, so closing UPSTREAM.