Author |
Post |
|
#1 Tue Nov 30, 2010 22:04, 172 months ago.
|
Member
Registered: Nov 2010
Location: Warsaw, Poland
|
Operating system name and version: OpenBSD 4.8 Version of smsd: 3.1.11 Smsd installed from: ports Name and model of a modem / phone: Nokia Datacard Interface: USB Hello, I have a problem with connection to a modem. First time when I've run the SMSTools, It was working OK. But after one day, I've decided to change the path to the log file. And then errors occured. After reinstalling SMSTools with defaults settings (log file etc.) problem is still the same. Error from smsd.log: smsd.conf: # $OpenBSD: smsd.conf.openbsd,v 1.3 2010/06/30 16:45:27 sthen Exp $ # See /usr/local/share/doc/smstools/configure.html for more details
devices = GSM1 #devices = GSM1, GSM2 loglevel = 7
# After initial setup this might be a good option; notices by default, # but debug logging is buffered and stored to another file after an error. #loglevel = 5 #smart_logging = yes
# setuid() to this user: user = _smsd # it's possible to setgid too, but default is the set of # groups from /etc/groups
pidfile = /var/run/smsd/smsd.pid infofile = /var/run/smsd/smsd.info
#logfile = syslog logfile = /var/log/smsd/smsd.log
[GSM1] # A sample USB device with typical broken rtscts, so use # a send delay to reduce the risk of overruns. Some PC cards # also break rts/cts. On some 3G cards you might be able to # use the control device for SMS simultaneously with using # the data device for a PPP connection. # For this one I have set incoming=no so it doesn't pull # the existing messages off the phone. device = /dev/usb0 incoming = no rtscts = no send_delay = 20 # smsc = +447958879879 # some devices need the smsc to be explicitly set # memory_start = 0 # defaults to 1; some devices start their index at 0 # init = ATE0 # /usr/local/share/doc/smstools/hardwarecomp.html # pin = 1111 # pin normally used only with data cards, not phones
[GSM2] #device = /dev/cua00 #incoming = yes 'smsdconf' Syntax Highlight powered by GeSHi And I don't know where is the problem because before it was workig fine. The Nokia Datacard USB modem works at Windows. Thanks for help. Arenio
|
|
#2 Tue Nov 30, 2010 22:16, 172 months ago.
|
Administrator
Registered: May 2009
Location: Jyväskylä, Finland
|
Who owns the serial port and what are the privileges? ls -l /dev/usb0 ? As you get "permission denied" from the OS, you may have something wrong in the group settings.
|
|
#3 Tue Nov 30, 2010 22:27, 172 months ago.
|
Member
Registered: Nov 2010
Location: Warsaw, Poland
Topic owner
|
I don't think so in order it's with privileges problem. I've changed _smsd user to root in smsd.conf . ls -l /dev/usb0: smsd.log: I have old log file when SMSTools worked fine.
|
|
#4 Tue Nov 30, 2010 22:46, 172 months ago.
|
Administrator
Registered: May 2009
Location: Jyväskylä, Finland
|
I think that the "permission denied" issue was clear, but now when you run the daemon as root:wheel, there is another problem. Perhaps something is broken, or you have updated some parts of the OS. I cannot check OpenBSD right now, and my server anyways is 4.5, not 4.8.
You could try if the modem setting send_handshake_select = no makes any difference. But I do not expect that it does. Probably this is a *BSD specific issue.
I will try to check this issue more within about after the next 12+ hours...
|
|
#5 Tue Nov 30, 2010 23:05, 172 months ago.
|
Member
Registered: Nov 2010
Location: Warsaw, Poland
Topic owner
|
I didn't make any OS updates. I've tried with no handshake and the result is below.
|
|
#6 Wed Dec 01, 2010 10:16, 172 months ago.
|
Administrator
Registered: May 2009
Location: Jyväskylä, Finland
|
Now you had the setting rtscts = no removed, or changed to rtscts = yes. As your hardware fails with handshaking, continue without it (= use rtscts = no).
|
|
#7 Wed Dec 01, 2010 17:54, 172 months ago.
|
Member
Registered: Nov 2010
Location: Warsaw, Poland
Topic owner
|
I always have rtscts = no even during the last my conf with handshake set to no. Problem is still the same: Cannot open serial port /dev/usb0, error: Permission denied or GSM1: Checking if modem is ready GSM1: -> AT GSM1: write_to_modem: error 19: Operation not supported by device or GSM1: Checking if modem is ready GSM1: -> AT GSM1: Modem is not clear to send Why it doesn't work? Answer is difficult because it worked before errors occurs and I don't know why it doesn't work now I run smsd deamon as _smd user with no errors before, strange.
|
|
#8 Wed Dec 01, 2010 20:34, 172 months ago.
|
Administrator
Registered: May 2009
Location: Jyväskylä, Finland
|
Arenio wrote Why it doesn't work? Answer is difficult because it worked before errors occurs and I don't know why it doesn't work now 
I agree that  . Answer is difficult because I cannot know what changes was made to the system... In your old log smsd was running successfully as _smsd:_smsd. It is not known what were the permissions of the serial port, but it worked. Later it did not work. The port had crw-rw---- root:wheel, which means that at that time _smsd did not belong to the wheel group. It is also possible that previously the port had different permissions, like crw-rw-rw, but I cannot know what it actually had. Is the _smsd currently in the wheel group? Arenio wrote I always have rtscts = no even during the last my conf with handshake set to no.
Have you ensured that your are editing the correct smsd.conf file? After you changed the path to the log file, you got first errors. Did you change something else at the same time? Anywhere? The message "Modem is not clear to send" is possible only when rtscts is used. If you surely have rtscts = no in your configuration (for the correct modem), you do not get that message. Also with send_handshake_select you got error 19, which likely means the same, hardware handshaking has been in use and does not work properly.
|
|
#9 Thu Dec 02, 2010 21:46, 172 months ago.
|
Member
Registered: Nov 2010
Location: Warsaw, Poland
Topic owner
|
I didn't change any permissions for /dev/usb0 and only at smd.conf file the device and the log file I changed. _smd is not in the wheel group. I'm sure that I didn't change anything except device and log file entries. I've restarted the server, reinstalled the SMSTools and the problem still exists I suppose that for some reason the device is busy or something like that and SMSTools cannot get the access to the device.
|
|
#10 Fri Dec 03, 2010 11:32, 172 months ago.
|
Administrator
Registered: May 2009
Location: Jyväskylä, Finland
|
Arenio wrote I didn't change any permissions for /dev/usb0 and only at smd.conf file the device and the log file I changed. _smd is not in the wheel group.
I'm sure that I didn't change anything except device and log file entries.
Can you remember what were the permissions of the previous port? As you do not have _smsd in the wheel group, the issue is clear: _smsd cannot access the port when it has current permissions and is owned by root:wheel. Just fix the permissions and try again. Arenio wrote I've restarted the server, reinstalled the SMSTools and the problem still exists 
Probably in the past you have changed the permissions of the port manually, but after restarting the server those permissions do not stay. You need some init-script to set permissions in the start, or use the correct group settings. Arenio wrote I suppose that for some reason the device is busy or something like that and SMSTools cannot get the access to the device.
"Device is busy" and "cannot access" are different issues. With correct group settings _smsd can access the port and it can be opened. What I was trying to say in the previous post was that smsd will say "Modem is not clear to send" only if the bit tio.c_cflag & CRTSCTS is set. And this bit is not set if the setting rtscts = no is used in the configuration. If you still get this error, you have incorrect configuration, or if it surely is correct, some other reason in your server changes the handshake bit. However it is hard to believe that something outside the smsd changes the bit. You should double-check your configuration at this point. You could also try to move back to the previous port which was working. What anyway was the reason for change, while the port was working and you were planning only to change the location of log file? Generally taken single change at a time is a good idea. Also the working configuration could be stored, at least by nightly backup, or manually if backups are not done.
|
|
#11 Sat Dec 04, 2010 18:25, 172 months ago.
|
Member
Registered: Nov 2010
Location: Warsaw, Poland
Topic owner
|
I decided to completely uninstall SMSTools and install from the beginning. I deleted all SMSTools files etc. Then I installed again. See the following terminal commands and outputs. In smsd.conf I only changed device as /dev/usb0 .
|
|
#12 Sun Dec 05, 2010 14:43, 172 months ago.
|
Administrator
Registered: May 2009
Location: Jyväskylä, Finland
|
In OpenBSD /dev/cuaU0 is the first USB port. Try with it and put _smsd to 'dialer' group as the instruction says.
|
|
#13 Sun Dec 05, 2010 19:57, 172 months ago.
|
Member
Registered: Nov 2010
Location: Warsaw, Poland
Topic owner
|
Great It works. I changed device as /dev/cuaU0 So there was the problem. Thanks for help. Arenio
|
|
#14 Sun Dec 05, 2010 20:13, 172 months ago.
|
Administrator
Registered: May 2009
Location: Jyväskylä, Finland
|
Just for curiosity, why did you anyways change the device setting while you had a working setup before the change... ? You could now try with some changes in the smsd.conf: remove rtscts = no and send_delay = 20. If your modem works properly with handshaking, it's better to use it. If it does not work, just use those settings.
|
|
#15 Sun Dec 05, 2010 20:22, 172 months ago.
|
Member
Registered: Nov 2010
Location: Warsaw, Poland
Topic owner
|
Really, I don't remember that I was changing device entry and why I was sure that /dev/usb0 is ok. I've removed rtscts and send_delay and it works. Thanks.
|