Re: /dev/dsp* & /dev/audio* devices not present

2009-01-12 Thread Dag-Erling Smørgrav
per...@pluto.rain.com writes:
> "Rick C. Petty"  writes:
> > Funny.  But this isn't a bug disguised as a feature.
> > It's a feature that you believe is a bug.
> I would call it a bug that you believe is a feature.

It is *by definition* a feature.  The code works as intended.  If it
didn't, that would be a bug.  The fact that you wish the code worked
differently doesn't make it a bug.

Anyway, you can complain until you're blue in the face, but it's not
going to change, for a number of very good reasons (which have mostly
been listed in other posts in this thread).

DES
-- 
Dag-Erling Smørgrav - d...@des.no
___
freebsd-hackers@freebsd.org mailing list
http://lists.freebsd.org/mailman/listinfo/freebsd-hackers
To unsubscribe, send any mail to "freebsd-hackers-unsubscr...@freebsd.org"


Re: /dev/dsp* & /dev/audio* devices not present

2009-01-12 Thread Rick C. Petty
On Sun, Jan 11, 2009 at 09:14:53PM -0800, per...@pluto.rain.com wrote:
> 
> > Funny.  But this isn't a bug disguised as a feature.
> > It's a feature that you believe is a bug.
> 
> I would call it a bug that you believe is a feature.

Not just me, but freebsd developers including those who wrote devfs.

> > > In any other part of the directory tree we expect ls to provide
> > > a list of names that are available to be opened (subject to
> > > permissions).  Why should /dev be any different?
> >
> > Because it's a special filesystem.
> 
> I think that constitutes an admission that it violates POLA,
> and it's not much of a justification IMO.

Only you and a small group of people seem to be astonished by this,
something that's been in FreeBSD since 4.0.  Glad you're voicing your
opinion now, before it's too late.

> The manpage for tun(4) says:
> 
>   tun does for network interfaces what the pty(4) driver does for
>   terminals ... The network interfaces are named ``tun0'', ``tun1'',
>   etc., one for each control device that has been opened ... The tun
>   interface permits opens on the special control device /dev/tun.
>   When this device is opened, tun will return a handle for the
>   **lowest** unused tun device ...
> 
> (emphasis added).  The whole point of cloning devices is to avoid
> the need for the application to loop through a sequence of possible
> names to find one that is not in use; it simply opens the generic
> name and gets a (pseudo) device.

Yes, when using /dev/tun, you get the lowest.  That's expected behavior.
But it doesn't say not to use your own numbering.  I'll stand by my
previous statements.

> > but why create device nodes when they aren't necessary, as you
> > have to clone the nodes (or create new ones) when an actual
> > open(2) occurs?
> 
> As I stated earlier in this thread:
> 
> * It doesn't necessarily need to actually create them, but the
> * results from readdir(2) should be as if they had been created.

I think you may find this is not as trivial as you make it sound.

> > Please provide the reference where it violates POSIX.
> 
> I am not familiar with POSIX in detail, which is why I only suggest
> that it *may* violate POSIX.

That much is obvious.

> You're welcome to research the matter.

No thanks, I've read it back to front.  But you seem to imply that you're
the expert, so I was hoping for you to point out how I've misread it.

> I would *expect* that research to find that there is supposed to be
> a correspondence between what readdir reports as the contents of a
> directory, and the results of attempting to open a filename in the
> directory whose contents were read; if not, what would be the point
> of having readdir in the first place?

Good point.  We should probably rewrite syscalls to use vnode references
instead of names.  That would solve all ambiguity problems as well.

> Of course not, but we are not dealing here with a case in which
> process A reads the directory, then process B creates a file in
> it, and thus that file becomes visible to process A.  Instead we
> have a magical side-effect, wherein process A opens a file which
> (per readdir) does not exist, and thereby calls into existence a
> new file, while the name that process A opened *still* does not
> exist.

There is nothing magical about it, nor did this just happen overnight.
Perhaps it's not well-documented but it is well-known.

> > And what about msdosfs and case-insensitivity?  You can
> > certainly open files that weren't a part of your readdir.
> 
> The semantics of msdosfs are driven by the need to maintain
> compatibility with a certain other operating system -- the one
> which defined that filesystem representation in the first place.

Just like devfs, which defined the filesystem representation that there are
invisible nodes and pseudo-nodes.

> I hardly think it should be considered a good precedent.

Obviously kernel developers disagreed with you.

> > Also no one in their right mind would be coding a readdir/open
> > solution against a filesystem known to be completely dynamic and
> > especially against devfs.  You would want to tie in directly to
> > devctl, sysctl, or syscall.
> 
> Programmatically, yes.  But long-standing historical precedent,
> going back at least as far as the AT&T sixth research edition,
> would have an administrator or knowledgeable user believe that the
> contents of /dev are related to the collection of drivers that the
> system supports.

So we should go back to the precedent and make all dev entries static once
again?  You can't argue for progress in the same case that you argue for
precedence.

> actually has that device attached.  Why would we want to trash that
> concept by allowing the existence of phantom drivers, which have no
> presence in /dev unless/until they have been opened?

The drivers aren't phantom-- their instances are.

> > Why is it suboptimal?
> 
> As in the case of the OP, it is suboptimal from the standpoint of
> a human who 

Re: /dev/dsp* & /dev/audio* devices not present

2009-01-11 Thread perryh
"Rick C. Petty"  wrote:

> On Sat, Jan 10, 2009 at 04:20:58AM -0800, per...@pluto.rain.com wrote:
> > "Rick C. Petty"  wrote:
> > >
> > > That's not how devfs works.  It's actually a feature
> > > that devfs doesn't list everything ever possible
> > 
> > http://storage9.myopera.com/freejerk/files/bug-feature.jpg
>
> Funny.  But this isn't a bug disguised as a feature.
> It's a feature that you believe is a bug.

I would call it a bug that you believe is a feature.

> > > I'd rather be able to list to see things that are in use,
> > > although at first glance I didn't like devfs hidden nodes.
> > > Otherwise you'd be stuck printing tunXXX through infinity
> > > instead of this:
> > >
> > > % ls /dev/tun*
> > > /dev/tun0   /dev/tun115 /dev/tun194
> > 
> > In any other part of the directory tree we expect ls to provide
> > a list of names that are available to be opened (subject to
> > permissions).  Why should /dev be any different?
>
> Because it's a special filesystem.

I think that constitutes an admission that it violates POLA,
and it's not much of a justification IMO.

> > Since you aren't supposed to open (say) /dev/tun85, but only
> > /dev/tun0, correspondence between readdir and open would not
> > demand
>
> What?  Why aren't you supposed to open tun85?  I use this behavior
> all the time and have for years.  It helps keep track of things.
> Otherwise I would have to keep my natd configuration, firewall
> rules, and openvpn configuration all in sync.  Please provide a
> reference describing you're not "supposed to" open any arbitrary
> tunnelling device.

The manpage for tun(4) says:

  tun does for network interfaces what the pty(4) driver does for
  terminals ... The network interfaces are named ``tun0'', ``tun1'',
  etc., one for each control device that has been opened ... The tun
  interface permits opens on the special control device /dev/tun.
  When this device is opened, tun will return a handle for the
  **lowest** unused tun device ...

(emphasis added).  The whole point of cloning devices is to avoid
the need for the application to loop through a sequence of possible
names to find one that is not in use; it simply opens the generic
name and gets a (pseudo) device.

BTW I was slightly off -- it is /dev/tun rather than /dev/tun0
that's supposed to be opened -- but if anything this strengthens
my point (see below).

> > that readdir return the (large, if not infinite) list of
> > potential instances.  It would however seem reasonable for
> > that ls command to show /dev/tun0 if its driver is loaded,
> > even if the device has not been instantiated because the
> > node has never been opened.
>
> I don't buy that argument at all.  If anything it should show
> "/dev/tun",

Agreed it should be /dev/tun -- see above.

> but why create device nodes when they aren't necessary, as you
> have to clone the nodes (or create new ones) when an actual
> open(2) occurs?

As I stated earlier in this thread:

* It doesn't necessarily need to actually create them, but the
* results from readdir(2) should be as if they had been created.

> > > This is not a bug, it is designed behavior.  It was
> > > intentionally written to dynamically create device
> > > nodes when needed.
> > 
> > That the code faithfully adheres to the design does not
> > guarantee that the design is flawless.  IMO it violates
> > POLA, if not POSIX,
>
> Please provide the reference where it violates POSIX.

I am not familiar with POSIX in detail, which is why I only suggest
that it *may* violate POSIX.  You're welcome to research the matter.
I would *expect* that research to find that there is supposed to be
a correspondence between what readdir reports as the contents of a
directory, and the results of attempting to open a filename in the
directory whose contents were read; if not, what would be the point
of having readdir in the first place?

> > for open(2) to succeed when applied to a name which, according
> > to readdir(2), does not exist;
>
> What?  This can happen already-- there is no atomicity between
> a readdir and an open.

Of course not, but we are not dealing here with a case in which
process A reads the directory, then process B creates a file in
it, and thus that file becomes visible to process A.  Instead we
have a magical side-effect, wherein process A opens a file which
(per readdir) does not exist, and thereby calls into existence a
new file, while the name that process A opened *still* does not
exist.

> And what about msdosfs and case-insensitivity?  You can
> certainly open files that weren't a part of your readdir.

The semantics of msdosfs are driven by the need to maintain
compatibility with a certain other operating system -- the one
which defined that filesystem representation in the first place.
I hardly think it should be considered a good precedent.

> Also no one in their right mind would be coding a readdir/open
> solution against a filesystem known to be completely dynamic and
> especially against devfs.  

Re: /dev/dsp* & /dev/audio* devices not present

2009-01-11 Thread Rick C. Petty
On Sat, Jan 10, 2009 at 04:20:58AM -0800, per...@pluto.rain.com wrote:
> "Rick C. Petty"  wrote:
> >
> > That's not how devfs works.  It's actually a feature
> > that devfs doesn't list everything ever possible
> 
> http://storage9.myopera.com/freejerk/files/bug-feature.jpg

Funny.  But this isn't a bug disguised as a feature.  It's a feature that
you believe is a bug.

> > I'd rather be able to list to see things that are in use, although
> > at first glance I didn't like devfs hidden nodes.  Otherwise you'd
> > be stuck printing tunXXX through infinity instead of this:
> >
> > % ls /dev/tun*
> > /dev/tun0   /dev/tun115 /dev/tun194
> 
> In any other part of the directory tree we expect ls to provide
> a list of names that are available to be opened (subject to
> permissions).  Why should /dev be any different?

Because it's a special filesystem.

> Since you aren't supposed to open (say) /dev/tun85, but only
> /dev/tun0, correspondence between readdir and open would not demand

What?  Why aren't you supposed to open tun85?  I use this behavior all the
time and have for years.  It helps keep track of things.  Otherwise I would
have to keep my natd configuration, firewall rules, and openvpn
configuration all in sync.  Please provide a reference describing you're
not "supposed to" open any arbitrary tunnelling device.

> that readdir return the (large, if not infinite) list of potential
> instances.  It would however seem reasonable for that ls command to
> show /dev/tun0 if its driver is loaded, even if the device has not
> been instantiated because the node has never been opened.

I don't buy that argument at all.  If anything it should show "/dev/tun",
but why create device nodes when they aren't necessary, as you have to
clone the nodes (or create new ones) when an actual open(2) occurs?

> > This is not a bug, it is designed behavior.  It was intentionally
> > written to dynamically create device nodes when needed.
> 
> That the code faithfully adheres to the design does not guarantee
> that the design is flawless.  IMO it violates POLA, if not POSIX,

Please provide the reference where it violates POSIX.

> for open(2) to succeed when applied to a name which, according to
> readdir(2), does not exist;

What?  This can happen already-- there is no atomicity between a readdir
and an open.  And what about msdosfs and case-insensitivity?  You can
certainly open files that weren't a part of your readdir.

Also no one in their right mind would be coding a readdir/open solution
against a filesystem known to be completely dynamic and especially against
devfs.  You would want to tie in directly to devctl, sysctl, or syscall.

> and it is suboptimal to have "stealth"
> drivers whose availability for use cannot be discovered by examining
> /dev.

Why is it suboptimal?  I think you have that backwards-- it's more optimal
not to have to create superfluous device nodes when they are not needed,
at least from the kernel efficiency perspective.

-- Rick C. Petty
___
freebsd-hackers@freebsd.org mailing list
http://lists.freebsd.org/mailman/listinfo/freebsd-hackers
To unsubscribe, send any mail to "freebsd-hackers-unsubscr...@freebsd.org"


Re: /dev/dsp* & /dev/audio* devices not present

2009-01-10 Thread perryh
Ulrich Spoerlein  wrote:

> I cannot really comment on the devfs(4) design issues,
> and quite frankly it hasn't bothered my thus far.

It evidently inconvenienced the OP.

> Just another little quirk you get to remember.

If we followed that line of reasoning to its logical
conclusion we would eliminate POLA entirely.

> > IMO it violates POLA, if not POSIX, for open(2) to succeed when
> > applied to a name which, according to readdir(2), does not
> > exist; and it is suboptimal to have "stealth" drivers whose
> > availability for use cannot be discovered by examining /dev.
>
> You forgot directories with --x permissions. You can open many
> files inside them, but readdir(2) will get you nowhere. So this
> is a poor standard by which to judge devfs(4) device cloning.

There are at least two problems with that analysis:

* /dev does not ordinarily have --x permissions.  Even if I amended
  the principle to allow for that case, it would not affect its
  application to this case.

* readdir works for root, even in directories with --x permissions.
  For example:

  $ mkdir test
  $ touch test/file
  $ ls -la test
  total 4
  drwxr-xr-x  2 perryh  perryh  512 Jan 10 15:39 .
  drwxr-xr-x  3 perryh  perryh  512 Jan 10 15:39 ..
  -rw-r--r--  1 perryh  perryh0 Jan 10 15:39 file
  $ chmod 111 test
  $ ls -ld test
  d--x--x--x  2 perryh  perryh  512 Jan 10 15:39 test
  $ ls -la test
  total 0
  ls: test: Permission denied

  # ls -la test
  total 4
  d--x--x--x  2 perryh  perryh  512 Jan 10 15:39 .
  drwxr-xr-x  3 perryh  perryh  512 Jan 10 15:39 ..
  -rw-r--r--  1 perryh  perryh0 Jan 10 15:39 file
___
freebsd-hackers@freebsd.org mailing list
http://lists.freebsd.org/mailman/listinfo/freebsd-hackers
To unsubscribe, send any mail to "freebsd-hackers-unsubscr...@freebsd.org"


Re: /dev/dsp* & /dev/audio* devices not present

2009-01-10 Thread Ulrich Spoerlein
I cannot really comment on the devfs(4) design issues, and quite frankly
it hasn't bothered my thus far. Just another little quirk you get to
remember.

On Sat, 10.01.2009 at 04:20:58 -0800, per...@pluto.rain.com wrote:
> That the code faithfully adheres to the design does not guarantee
> that the design is flawless.  IMO it violates POLA, if not POSIX,
> for open(2) to succeed when applied to a name which, according to
> readdir(2), does not exist; and it is suboptimal to have "stealth"
> drivers whose availability for use cannot be discovered by examining
> /dev.

You forgot directories with --x permissions. You can open many files
inside them, but readdir(2) will get you nowhere. So this is a poor
standard by which to judge devfs(4) device cloning.

Cheers,
Ulrich Spoerlein
-- 
It is better to remain silent and be thought a fool,
than to speak, and remove all doubt.
___
freebsd-hackers@freebsd.org mailing list
http://lists.freebsd.org/mailman/listinfo/freebsd-hackers
To unsubscribe, send any mail to "freebsd-hackers-unsubscr...@freebsd.org"


Re: /dev/dsp* & /dev/audio* devices not present

2009-01-10 Thread perryh
"Rick C. Petty"  wrote:

> On Thu, Jan 08, 2009 at 09:50:47PM -0800, per...@pluto.rain.com wrote:
>
> > In principle, everything that would be successfully created if
> > open(2)'ed.  It doesn't necessarily need to actually create them,
> > but the results from readdir(2) should be as if they had been
> > created.  The whole point of things like ls(1) and readdir(2) is
> > to find out what-all is available to be opened, without having to
> > already know the answer.
>
> That's not how devfs works.  It's actually a feature
> that devfs doesn't list everything ever possible

http://storage9.myopera.com/freejerk/files/bug-feature.jpg

> (things looked terrible back in the old MAKEDEV days with
> all those polluted names).

Yes, MAKEDEV can create the opposite problem, wherein /dev contains
nodes for devices whose drivers and/or hardware aren't present.
Such orphan nodes aren't a whole lot better than missing nodes.

> I'd rather be able to list to see things that are in use, although
> at first glance I didn't like devfs hidden nodes.  Otherwise you'd
> be stuck printing tunXXX through infinity instead of this:
>
> % ls /dev/tun*
> /dev/tun0   /dev/tun115 /dev/tun194

In any other part of the directory tree we expect ls to provide
a list of names that are available to be opened (subject to
permissions).  Why should /dev be any different?

Since you aren't supposed to open (say) /dev/tun85, but only
/dev/tun0, correspondence between readdir and open would not demand
that readdir return the (large, if not infinite) list of potential
instances.  It would however seem reasonable for that ls command to
show /dev/tun0 if its driver is loaded, even if the device has not
been instantiated because the node has never been opened.

> This is not a bug, it is designed behavior.  It was intentionally
> written to dynamically create device nodes when needed.

That the code faithfully adheres to the design does not guarantee
that the design is flawless.  IMO it violates POLA, if not POSIX,
for open(2) to succeed when applied to a name which, according to
readdir(2), does not exist; and it is suboptimal to have "stealth"
drivers whose availability for use cannot be discovered by examining
/dev.
___
freebsd-hackers@freebsd.org mailing list
http://lists.freebsd.org/mailman/listinfo/freebsd-hackers
To unsubscribe, send any mail to "freebsd-hackers-unsubscr...@freebsd.org"


Re: /dev/dsp* & /dev/audio* devices not present

2009-01-10 Thread perryh
Ulrich Spoerlein  wrote:

> On Thu, 08.01.2009 at 21:50:47 -0800, per...@pluto.rain.com wrote:
> > Ulrich Spoerlein  wrote:
>
> Ummm, out of curiosity, are your receiving your mail via UUCP? :)

http://lists.freebsd.org/pipermail/freebsd-net/2009-January/020645.html
___
freebsd-hackers@freebsd.org mailing list
http://lists.freebsd.org/mailman/listinfo/freebsd-hackers
To unsubscribe, send any mail to "freebsd-hackers-unsubscr...@freebsd.org"


Re: /dev/dsp* & /dev/audio* devices not present

2009-01-09 Thread Rick C. Petty
On Thu, Jan 08, 2009 at 09:50:47PM -0800, per...@pluto.rain.com wrote:
> 
> In principle, everything that would be successfully created if
> open(2)'ed.  It doesn't necessarily need to actually create them,
> but the results from readdir(2) should be as if they had been
> created.  The whole point of things like ls(1) and readdir(2) is
> to find out what-all is available to be opened, without having to
> already know the answer.

That's not how devfs works.  It's actually a feature that devfs doesn't
list everything ever possible (things looked terrible back in the old
MAKEDEV days with all those polluted names).  I'd rather be able to list to
see things that are in use, although at first glance I didn't like devfs
hidden nodes.  Otherwise you'd be stuck printing tunXXX through infinity
instead of this:

% ls /dev/tun*
/dev/tun0   /dev/tun115 /dev/tun194

Maybe you could argue that dsp should work differently, but some sound
cards and configurations would give you infinite (within reason) device
nodes, IIRC.

> > This is a FAQ really.
> 
> It may be an FAQ, but it is also a bug, granted one that may not be
> easy to fix.

This is not a bug, it is designed behavior.  It was intentionally written
to dynamically create device nodes when needed.

-- Rick C. Petty
___
freebsd-hackers@freebsd.org mailing list
http://lists.freebsd.org/mailman/listinfo/freebsd-hackers
To unsubscribe, send any mail to "freebsd-hackers-unsubscr...@freebsd.org"


Re: /dev/dsp* & /dev/audio* devices not present

2009-01-09 Thread Ulrich Spoerlein
On Thu, 08.01.2009 at 21:50:47 -0800, per...@pluto.rain.com wrote:
> Ulrich Spoerlein  wrote:

Ummm, out of curiosity, are your receiving your mail via UUCP? :)

> > Please run
> > % cat /dev/sndstat
> > % ls -l /dev/dsp0 /dev/dsp0.0
> >
> > The reason you are not seeing them with 'ls /dev/dsp*' is because
> > devfs is creating the nodes when they are open(2)'ed. Using shell
> > globbing will search the output of readdir(2) for matches to dsp*
> > where devfs has no way of dynamically creating nodes (which ones
> > should it create anyway?)
> 
> In principle, everything that would be successfully created if
> open(2)'ed.  It doesn't necessarily need to actually create them,
> but the results from readdir(2) should be as if they had been
> created.  The whole point of things like ls(1) and readdir(2) is
> to find out what-all is available to be opened, without having to
> already know the answer.

Not according to my understanding, which may be flawed of course.
devfs(4) would have to create all devices, which may be open(2)ed up
front, for dsp that would have to be 32 instances (for my system):

% ll /dev/dsp0.{0,9,11,21,31}
crw-rw-rw-  1 root  wheel0, 142 Jan  9 20:57 /dev/dsp0.0
crw-rw-rw-  1 root  wheel0, 153 Jan  9 20:20 /dev/dsp0.11
crw-rw-rw-  1 root  wheel0, 154 Jan  9 20:20 /dev/dsp0.21
crw-rw-rw-  1 root  wheel0, 151 Jan  9 20:20 /dev/dsp0.31
crw-rw-rw-  1 root  wheel0, 152 Jan  9 20:20 /dev/dsp0.9

It would also cloud the information about devices in-use.

> > This is a FAQ really.
> 
> It may be an FAQ, but it is also a bug, granted one that may not be
> easy to fix.

You really want all cloneable instances to show up with a readdir, which
would mean that they would have to created upon device attachment? I
really don't think so ... For /dev/dsp0 the semantics are pretty clear:
try to open /dev/dsp0, if it succeeds fine, if not, there is no vchan
available and you're SOL. No need to play the guess-a-free-dsp-device
game.

Cheers,
Ulrich Spoerlein
-- 
It is better to remain silent and be thought a fool,
than to speak, and remove all doubt.
___
freebsd-hackers@freebsd.org mailing list
http://lists.freebsd.org/mailman/listinfo/freebsd-hackers
To unsubscribe, send any mail to "freebsd-hackers-unsubscr...@freebsd.org"


Re: /dev/dsp* & /dev/audio* devices not present

2009-01-08 Thread perryh
Ulrich Spoerlein  wrote:

> Please run
> % cat /dev/sndstat
> % ls -l /dev/dsp0 /dev/dsp0.0
>
> The reason you are not seeing them with 'ls /dev/dsp*' is because
> devfs is creating the nodes when they are open(2)'ed. Using shell
> globbing will search the output of readdir(2) for matches to dsp*
> where devfs has no way of dynamically creating nodes (which ones
> should it create anyway?)

In principle, everything that would be successfully created if
open(2)'ed.  It doesn't necessarily need to actually create them,
but the results from readdir(2) should be as if they had been
created.  The whole point of things like ls(1) and readdir(2) is
to find out what-all is available to be opened, without having to
already know the answer.

> This is a FAQ really.

It may be an FAQ, but it is also a bug, granted one that may not be
easy to fix.
___
freebsd-hackers@freebsd.org mailing list
http://lists.freebsd.org/mailman/listinfo/freebsd-hackers
To unsubscribe, send any mail to "freebsd-hackers-unsubscr...@freebsd.org"


Re: /dev/dsp* & /dev/audio* devices not present

2009-01-08 Thread Matthias Apitz
El día Thursday, January 08, 2009 a las 09:06:45AM +0200, Vladimir Terziev 
escribió:

> Hi Matthias,
> 
> i configured Ekiga and during the configuration process it didn't find
> any Audio device, so i think /dev/dsp* devices must be present, isn't
> it ?
> 
> Regards,
> 
> Vladimir

Which version of Ekiga you are using? In the past I've send patches to
the Ekiga maintainer to make /dev/dsp working. I don't know if they made
it, for example, into the version the 7.0 port is using.

matthias

-- 
Matthias Apitz
Manager Technical Support - OCLC GmbH
Gruenwalder Weg 28g - 82041 Oberhaching - Germany
t +49-89-61308 351 - f +49-89-61308 399 - m +49-170-4527211
e  - w http://www.oclc.org/ http://www.UnixArea.de/
b http://gurucubano.blogspot.com/

SPAMer of the year: Subject: Alle Software ist Deutsche Sprachen
>From: -40 % die Neujahrsaktion 
___
freebsd-hackers@freebsd.org mailing list
http://lists.freebsd.org/mailman/listinfo/freebsd-hackers
To unsubscribe, send any mail to "freebsd-hackers-unsubscr...@freebsd.org"


Re: /dev/dsp* & /dev/audio* devices not present

2009-01-08 Thread Vladimir Terziev
Hi Matthias,

the version of Ekiga i'm exploring is built from ports and it's
ekiga-2.0.11_4 .

Regards,

Vladimir


On Thu, 2009-01-08 at 10:31 +0200, Matthias Apitz wrote:
> El día Thursday, January 08, 2009 a las 09:06:45AM +0200, Vladimir
> Terziev escribió:
> 
> > Hi Matthias,
> >
> > i configured Ekiga and during the configuration process it didn't
> find
> > any Audio device, so i think /dev/dsp* devices must be present,
> isn't
> > it ?
> >
> > Regards,
> >
> > Vladimir
> 
> Which version of Ekiga you are using? In the past I've send patches to
> the Ekiga maintainer to make /dev/dsp working. I don't know if they
> made
> it, for example, into the version the 7.0 port is using.
> 
> matthias
> 
> --
> Matthias Apitz
> Manager Technical Support - OCLC GmbH
> Gruenwalder Weg 28g - 82041 Oberhaching - Germany
> t +49-89-61308 351 - f +49-89-61308 399 - m +49-170-4527211
> e  - w http://www.oclc.org/
> http://www.UnixArea.de/
> b http://gurucubano.blogspot.com/
> 
> SPAMer of the year: Subject: Alle Software ist Deutsche Sprachen
> >From: -40 % die Neujahrsaktion 
> 
> 

This email and any attachments are confidential, and may be legally privileged 
and protected by copyright. If you are not the intended recipient dissemination 
or copying of this email is prohibited. If you have received this in error, 
please notify the sender by replying by email and then delete the email 
completely from your system. 

Any views or opinions are solely those of the sender.  This communication is 
not intended to form a binding contract unless expressly indicated to the 
contrary and properly authorised. Any actions taken on the basis of this email 
are at the recipient's own risk.


___
freebsd-hackers@freebsd.org mailing list
http://lists.freebsd.org/mailman/listinfo/freebsd-hackers
To unsubscribe, send any mail to "freebsd-hackers-unsubscr...@freebsd.org"


Re: /dev/dsp* & /dev/audio* devices not present

2009-01-08 Thread Vladimir Terziev
Thank you very much Ulrich!

After running "ls -l /dev/dsp0 /dev/dsp0.0" the devices are present and
Ekiga has found them.

The reasonable question is why Ekiga was not able to discover them
without the hack you suggested.

Regards,

Vladimir


On Thu, 2009-01-08 at 10:07 +0200, Ulrich Spoerlein wrote:
> On Thu, 08.01.2009 at 09:06:45 +0200, Vladimir Terziev wrote:
> > Hi Matthias,
> >
> > i configured Ekiga and during the configuration process it didn't
> find
> > any Audio device, so i think /dev/dsp* devices must be present,
> isn't
> > it ?
> 
> Please run
> % cat /dev/sndstat
> % ls -l /dev/dsp0 /dev/dsp0.0
> 
> The reason you are not seeing them with 'ls /dev/dsp*' is because
> devfs
> is creating the nodes when they are open(2)'ed. Using shell globbing
> will
> search the output of readdir(2) for matches to dsp* where devfs has no
> way of dynamically creating nodes (which ones should it create
> anyway?)
> 
> This is a FAQ really.
> 
> Cheers,
> Ulrich Spoerlein
> --
> It is better to remain silent and be thought a fool,
> than to speak, and remove all doubt.
> 
> 

This email and any attachments are confidential, and may be legally privileged 
and protected by copyright. If you are not the intended recipient dissemination 
or copying of this email is prohibited. If you have received this in error, 
please notify the sender by replying by email and then delete the email 
completely from your system. 

Any views or opinions are solely those of the sender.  This communication is 
not intended to form a binding contract unless expressly indicated to the 
contrary and properly authorised. Any actions taken on the basis of this email 
are at the recipient's own risk.


___
freebsd-hackers@freebsd.org mailing list
http://lists.freebsd.org/mailman/listinfo/freebsd-hackers
To unsubscribe, send any mail to "freebsd-hackers-unsubscr...@freebsd.org"


Re: /dev/dsp* & /dev/audio* devices not present

2009-01-08 Thread Ulrich Spoerlein
On Thu, 08.01.2009 at 09:06:45 +0200, Vladimir Terziev wrote:
> Hi Matthias,
> 
> i configured Ekiga and during the configuration process it didn't find
> any Audio device, so i think /dev/dsp* devices must be present, isn't
> it ?

Please run
% cat /dev/sndstat
% ls -l /dev/dsp0 /dev/dsp0.0

The reason you are not seeing them with 'ls /dev/dsp*' is because devfs
is creating the nodes when they are open(2)'ed. Using shell globbing will
search the output of readdir(2) for matches to dsp* where devfs has no
way of dynamically creating nodes (which ones should it create anyway?)

This is a FAQ really.

Cheers,
Ulrich Spoerlein
-- 
It is better to remain silent and be thought a fool,
than to speak, and remove all doubt.
___
freebsd-hackers@freebsd.org mailing list
http://lists.freebsd.org/mailman/listinfo/freebsd-hackers
To unsubscribe, send any mail to "freebsd-hackers-unsubscr...@freebsd.org"


Re: /dev/dsp* & /dev/audio* devices not present

2009-01-07 Thread Vladimir Terziev
Hi Matthias,

i configured Ekiga and during the configuration process it didn't find
any Audio device, so i think /dev/dsp* devices must be present, isn't
it ?

Regards,

Vladimir

On Wed, 2009-01-07 at 20:10 +0200, Matthias Apitz wrote:
> El día Wednesday, January 07, 2009 a las 06:52:31PM +0200, Vladimir
> Terziev escribió:
> 
> ...
> 
> > device sound
> > device snd_hda
> >
> >
> > The driver seems to recognize the controller:
> >
> > $ dmesg | grep pcm
> >
> > pcm0:  mem
> > 0xe04c-0xe04c3fff irq 21 at device 27.0 on pci0
> > pcm0: [ITHREAD]
> > pcm0: 
> > pcm0: 
> >
> >
> > This is also confirmed here:
> >
> > $ cat /dev/sndstat
> > FreeBSD Audio Driver (newpcm: 32bit 2007061600/i386)
> > Installed devices:
> > pcm0:  at memory
> > 0xe04c irq 21 [20071129_0050] [MPSAFE] (1p:1v/1r:1v channels
> duplex
> > default)
> 
> all fine until here;
> 
> >
> > Now the problem ...
> > The strange thing is all audio related devices are missing in /dev
> >
> > $ ls -l /dev/audio* /dev/dsp*
> > ls: /dev/audio*: No such file or directory
> > ls: /dev/dsp*: No such file or directory
> 
> fine too; you will not see /dev/dsp* with ls(1), just open the device
> /dev/dsp with some application and it will appear;
> 
> > Respectively i have no working sound support :(
> 
> what you mean exactly with 'i have no working sound support'?
> try changing the values with the mixer(1) command if no sound is
> coming
> out from apps;
> 
> matthias
> --
> Matthias Apitz
> Manager Technical Support - OCLC GmbH
> Gruenwalder Weg 28g - 82041 Oberhaching - Germany
> t +49-89-61308 351 - f +49-89-61308 399 - m +49-170-4527211
> e  - w http://www.oclc.org/
> http://www.UnixArea.de/
> b http://gurucubano.blogspot.com/
> 
> SPAMer of the year: Subject: Alle Software ist Deutsche Sprachen
> >From: -40 % die Neujahrsaktion 
> 
> 

This email and any attachments are confidential, and may be legally privileged 
and protected by copyright. If you are not the intended recipient dissemination 
or copying of this email is prohibited. If you have received this in error, 
please notify the sender by replying by email and then delete the email 
completely from your system. 

Any views or opinions are solely those of the sender.  This communication is 
not intended to form a binding contract unless expressly indicated to the 
contrary and properly authorised. Any actions taken on the basis of this email 
are at the recipient's own risk.


___
freebsd-hackers@freebsd.org mailing list
http://lists.freebsd.org/mailman/listinfo/freebsd-hackers
To unsubscribe, send any mail to "freebsd-hackers-unsubscr...@freebsd.org"


Re: /dev/dsp* & /dev/audio* devices not present

2009-01-07 Thread Matthias Apitz
El día Wednesday, January 07, 2009 a las 06:52:31PM +0200, Vladimir Terziev 
escribió:

...

> device sound
> device snd_hda
> 
> 
> The driver seems to recognize the controller:
> 
> $ dmesg | grep pcm
> 
> pcm0:  mem
> 0xe04c-0xe04c3fff irq 21 at device 27.0 on pci0
> pcm0: [ITHREAD]
> pcm0: 
> pcm0: 
> 
> 
> This is also confirmed here:
> 
> $ cat /dev/sndstat 
> FreeBSD Audio Driver (newpcm: 32bit 2007061600/i386)
> Installed devices:
> pcm0:  at memory
> 0xe04c irq 21 [20071129_0050] [MPSAFE] (1p:1v/1r:1v channels duplex
> default)

all fine until here;

> 
> Now the problem ...
> The strange thing is all audio related devices are missing in /dev
> 
> $ ls -l /dev/audio* /dev/dsp*
> ls: /dev/audio*: No such file or directory
> ls: /dev/dsp*: No such file or directory

fine too; you will not see /dev/dsp* with ls(1), just open the device
/dev/dsp with some application and it will appear;

> Respectively i have no working sound support :(

what you mean exactly with 'i have no working sound support'?
try changing the values with the mixer(1) command if no sound is coming
out from apps;

matthias
-- 
Matthias Apitz
Manager Technical Support - OCLC GmbH
Gruenwalder Weg 28g - 82041 Oberhaching - Germany
t +49-89-61308 351 - f +49-89-61308 399 - m +49-170-4527211
e  - w http://www.oclc.org/ http://www.UnixArea.de/
b http://gurucubano.blogspot.com/

SPAMer of the year: Subject: Alle Software ist Deutsche Sprachen
>From: -40 % die Neujahrsaktion 
___
freebsd-hackers@freebsd.org mailing list
http://lists.freebsd.org/mailman/listinfo/freebsd-hackers
To unsubscribe, send any mail to "freebsd-hackers-unsubscr...@freebsd.org"