Mail Archives: cygwin/2004/05/20/17:05:05
> -----Original Message-----
> From: cygwin-owner On Behalf Of Michael Wood
> Sent: 20 May 2004 17:23
> Hi-ya,
>
> I get an "Access is denied" error message when attempting to create a
> serial port connection through Cygwin, running on Win XP.
>
> In cygwin, when I execute:
> ls -l COM1
>
> I get the following:
> -rw-r--r-- 1 mwood mkgroup- 0 Jan 1 1970 COM1
>
> However, when I execute:
> chmod a+rw COM1
>
> the command exits normally (no error message), but the permissions on
> COM1 stay the same. Furthermore, I do not particularly
> understand why if
> I am the owner of COM1 (as illustrated by the 'ls -l'), why I
> would get
> a permission error.
>
> I have successfully created and used a connection on the
> serial port on
> the same machine through a VMWare session running a Linux Red
> Hat image.
> I used a very similar procedure above, in that I simply changed the
> permissions on "/dev/ttyS0" to grant all users read and write
> permissions to the serial port.
>
> Help would be greatly appreciated.
>
> - Mike
#1. Why not use /dev/ttyS0 again? Cygwin is a posix compatible layer and
/dev/ttyS0 should work pretty much the same. BTW, which directory are you
in when you do those commands on COM1? Did you "cd /dev" or do you expect
it to just work anywhere, and if so, why?
#2. 'doze has some pretty funny ideas about files having the same name as
dos-devices (COMx:, PRN:, LPTx: etc). It doesn't like it at all.
Presumably somewhere between cygwin and 'doze a bit of confusion is creeping
in.
#3. I notice that if you're in /dev and you do "ls -la com1", you get the
right answer. But remember, under Posix, capitalisation matters, so "com1"
and "COM1" are two different files. Under 'doze, unfortunately, it doesn't.
So probably Cygwin knows that /dev/com1 is the serial port, thinks that
/dev/COM1 is something different because the case doesn't match, assumes
it's an ordinary file and passes the name through to the underlying 'doze
file-handling calls, which disagree with cygwin and think that it IS a
serial port, and then everybody gets confused.
#4. When I do "ls -la COM1", I just get:
dk AT mace /> ls -la COM1
---------- 0 ???????? ???????? 0 Jan 1 1970 COM1
no matter what directory I'm in. Bizarre. When I'm do "ls -la /dev/com1",
I get the proper answer:
dk AT mace /> ls -la /dev/com1
crw-rw-rw- 1 dk Domain U 117, 1 May 20 19:05 /dev/com1
but capitalizing it never works, not even in the /dev directory.
dk AT mace /> ls -la /dev/COM1
---------- 0 ???????? ???????? 0 Jan 1 1970 /dev/COM1
#5. Anyway, the answer to your problem is that you were using the wrong
filename. The solution is to use the correct filename; either /dev/com1 or
/dev/ttyS0. And as to why there's a messed up COM1 in there, that's a
little bugette you've stumbled across.
cheers,
DaveK
--
Can't think of a witty .sigline today....
--
Unsubscribe info: http://cygwin.com/ml/#unsubscribe-simple
Problem reports: http://cygwin.com/problems.html
Documentation: http://cygwin.com/docs.html
FAQ: http://cygwin.com/faq/
- Raw text -