Mandalika's scratchpad [ Work blog @Oracle | Stock Market Notes | My Music Compositions ]

Old Posts: 09.04  10.04  11.04  12.04  01.05  02.05  03.05  04.05  05.05  06.05  07.05  08.05  09.05  10.05  11.05  12.05  01.06  02.06  03.06  04.06  05.06  06.06  07.06  08.06  09.06  10.06  11.06  12.06  01.07  02.07  03.07  04.07  05.07  06.07  08.07  09.07  10.07  11.07  12.07  01.08  02.08  03.08  04.08  05.08  06.08  07.08  08.08  09.08  10.08  11.08  12.08  01.09  02.09  03.09  04.09  05.09  06.09  07.09  08.09  09.09  10.09  11.09  12.09  01.10  02.10  03.10  04.10  05.10  06.10  07.10  08.10  09.10  10.10  11.10  12.10  01.11  02.11  03.11  04.11  05.11  07.11  08.11  09.11  10.11  11.11  12.11  01.12  02.12  03.12  04.12  05.12  06.12  07.12  08.12  09.12  10.12  11.12  12.12  01.13  02.13  03.13  04.13  05.13  06.13  07.13  08.13  09.13  10.13  11.13  12.13  01.14  02.14  03.14  04.14  05.14  06.14  07.14  09.14  10.14  11.14  12.14  01.15  02.15  03.15  04.15  06.15  09.15  12.15  01.16  03.16  04.16  05.16  06.16  07.16  08.16  09.16  12.16  01.17  02.17  03.17 


Thursday, September 29, 2005
 
Troubleshooting: Solaris {vold} refuses to mount & ejects CD/DVD

Problem:

While Volume Management Daemon (vold) is running, Solaris rejects all CD/DVD media and ejects 'em as soon as they were inserted in the CD/DVD drive. However manual mounting of the same media works, with no issues.

Solution:

vold needs the removable media device server smserver, to be running in order to manage the removable media devices. So, make sure smserver is enabled, and on-line.
# svcs -l smserver
fmri svc:/network/rpc/smserver:default
name removable media management
enabled false
state disabled

next_state none
state_time Thu Sep 29 20:25:19 2005
restarter svc:/network/inetd:default
contract_id
dependency require_all/restart svc:/network/rpc/bind (online)

smserver is not running, and the following lines from truss output confirms that client (vold) is not able to communicate with the smserver.
/9:     open("/var/run/smedia_svc", O_RDONLY)           = 35
/9: door_call(35, 0xD244DCA0) Err#9 EBADF
/9: close(35) = 0

The above series of calls can be easily mapped to the Solaris source code hosted at OpenSolaris web site, starting from call to smedia_get_handle in medium.c, and then tracing the calls further {in source code}.

Comments in smediad.c source file helps understanding the implementation a bit.

So to resolve this issue, simply bring smserver online. Let's continue with the above example.
# svcadm -v enable smserver
svc:/network/rpc/smserver:default enabled.

# svcs -p smserver
STATE STIME FMRI
online 21:17:43 svc:/network/rpc/smserver:default

Now vold is able to communicate with smserver and did its job of mounting the removable media (CD).

Excerpt from truss output:
/10:    open("/var/run/smedia_svc", O_RDONLY)           = 36
/10: door_call(36, 0xD244DDB8) = 0
/10: close(36) = 0

Here's the df output:
# df -h | grep cdrom
/vol/dev/dsk/c1t0d0/wgr614v5 239M 239M 0K 100% /cdrom/wgr614v5
________________
Technorati tag: |


Comments:
This solved my problem. After upgrading from Sol 8 to Sol 10, the CD/DVD would always eject and not mount.

Doing svcadm -v enable smserver fixed it.

Will this survive a reboot?
allen.cohen@gd-ais.com
 
> Will this survive a reboot?

Yes, it would.
 
Post a Comment

Links to this post:

Create a Link



<< Home


2004-2017 

This page is powered by Blogger. Isn't yours?