Re: Edwin, USA, kernel 3.0.0-12-generic

bartman2589 <[email protected]> Mon, 21 Nov 2011 19:02:43 -0500
Newsgroups gmane.linux.linmodem
Message-ID <[email protected]>
I do appreciate all the assistance you've given me, but it seems that 
what you're missing here is that I'm not going to be using the modem to 
connect to the internet with (kppp was only being used to check to see 
if the modem was responding to queries, it is not going to be used for 
any login sessions), I'm only going to be using it for sending and 
receiving fax transmissions.  And as such it's imperative that I be able 
to access it as a normal user.  This is not a computer that's in use by 
some huge commercial entity, it's a private in home computer that I use 
for personal use.

I've managed to gain access to it as a normal user by using a script to 
create a symbolic link between /dev/ttySM0 and /dev/modem, however I 
can't seem to get this script to initialize on system bootup, I have 
placed it in /etc/init.d and have marked it as executable, the contents 
of the script are as follows:

    #!/bin/sh -e
    #
    #Symbolic link for kppp
    #


    sudo ln -s /dev/ttySM0 /dev/modem

If I manually run the script as root after the system is up and running 
I have no problem accessing the modem as a normal user, but I'd prefer 
not to have to manually do this every time I want to access the modem.  
And please don't give me any lectures on security, Linux as most of us 
know full well is overly secured against letting normal desktop users do 
things they should be able to do (that level of security may be 
necessary in a corporate environment, but not generally in a home use 
environment such as the one I'm using this system in).  In a situation 
where the system is in use by a home user there is no need for such 
paranoia usually.  Users want to be able to actually use their system 
the way they want to use it, not have to worry about system permissions 
and file permissions and whatnot constantly.

Anyway again I thank you for helping me get the drivers compiled, I'm 
hoping someone can and is willing to help me get that script to properly 
run at bootup so that the modem is readily accessible to normal users.

As always thank you to anyone who can help,
Edwin


   On 11/21/2011 06:20 PM, Marvin Stodolsky wrote:
> PPP  is considered a Security RIsk.
> That is why Root/Adm permission is required to start a PPP connection.
>
> Our general recommendation is to:
> $ sudo modprobe martian_dev
> $ sudo martian_modem
> will setup the modem.  Then
> $ sudo wvdialconf
> will create a /etc/wvdial.conf  , which you can edit with:
> $ sudo gedit /etc/wvdial.conf
> removing the ;<   >  symbols as you put in your personal info.
> Also add a line:
> Carrier Check  =  no
> ---
> This wvdialconf does not need to be repeated.
> Start dialouts with:
> $ sudo wvdial
>
> If you have further problems, do write to the List.
> We do strongly recommend that you get use to such manual usage, before
> using graphical interfaces and changing permissions.
>
> MarvS
>
> On Mon, Nov 21, 2011 at 5:30 PM, bartman2589<[email protected]>  wrote:
>> THANK YOU VERY MUCH, It compiled using the new Makefile and seems to run ok,
>> now I just need to get it configured to allow normal user account access to
>> the modem.  Running KPPP as root ('kdesudo kppp') and unchecking 'check for
>> dialtone' allows me to query the modem just fine.  Any chance of getting
>> some help setting it up for normal user access too now?  I greatly
>> appreciate all you've both done to help me.  I really don't want to have to
>> do all my faxing as root if I can avoid it. :)
>>
>> On 11/21/2011 11:09 AM, Marvin Stodolsky wrote:
>>> Replace the Makefile with the attached , after unzipping.
>>> Then
>>> $ sudo make cleam
>>> $ sudo make all
>>> and the compile will be OK, per below
>>> The problem was an old kernel SUBLEVEL constraint, not cogent under
>>> the 3.0.n  kernels
>>>
>>> MarvS
>>>
>>> martian-full-20100123$ sudo make all
>>> make -C kmodule/ modules
>>> make[1]: Entering directory
>>> `/usr/src/pkg/martian/martian-full-20100123/kmodule'
>>> make -C /lib/modules/3.0.0-12-generic/build
>>> M="/usr/src/pkg/martian/martian-full-20100123/kmodule"  modules
>>> make[2]: Entering directory `/usr/src/linux-headers-3.0.0-12-generic'
>>>    CC [M]  /usr/src/pkg/martian/martian-full-20100123/kmodule/martian.o
>>> /usr/src/pkg/martian/martian-full-20100123/kmodule/martian.c: In
>>> function ‘martian_isr’:
>>> /usr/src/pkg/martian/martian-full-20100123/kmodule/martian.c:135:27:
>>> warning: value computed is not used [-Wunused-value]
>>>    CC [M]  /usr/src/pkg/martian/martian-full-20100123/kmodule/marsio.o
>>> /usr/src/pkg/martian/martian-full-20100123/kmodule/marsio.c:358:11:
>>> warning: ‘mars_read_register_rem’ defined but not used
>>> [-Wunused-function]
>>> /usr/src/pkg/martian/martian-full-20100123/kmodule/marsio.c:371:13:
>>> warning: ‘mars_write_register_rem’ defined but not used
>>> [-Wunused-function]
>>> In file included from
>>>
>>> /usr/src/linux-headers-3.0.0-12-generic/arch/x86/include/asm/uaccess.h:570:0,
>>>                   from
>>> /usr/src/pkg/martian/martian-full-20100123/kmodule/marsio.c:2:
>>> In function ‘copy_from_user’,
>>>      inlined from ‘mars_download_dsp_user’ at
>>> /usr/src/pkg/martian/martian-full-20100123/kmodule/marsio.c:767:22:
>>>
>>> /usr/src/linux-headers-3.0.0-12-generic/arch/x86/include/asm/uaccess_32.h:211:26:
>>> warning: call to ‘copy_from_user_overflow’ declared with attribute
>>> warning: copy_from_user() buffer size is not provably correct [enabled
>>> by default]
>>>    CC [M]  /usr/src/pkg/martian/martian-full-20100123/kmodule/mfifo.o
>>>    LD [M]  /usr/src/pkg/martian/martian-full-20100123/kmodule/martian_dev.o
>>>    Building modules, stage 2.
>>>    MODPOST 1 modules
>>>    CC
>>>   /usr/src/pkg/martian/martian-full-20100123/kmodule/martian_dev.mod.o
>>>    LD [M]
>>>   /usr/src/pkg/martian/martian-full-20100123/kmodule/martian_dev.ko
>>> make[2]: Leaving directory `/usr/src/linux-headers-3.0.0-12-generic'
>>> make[1]: Leaving directory
>>> `/usr/src/pkg/martian/martian-full-20100123/kmodule'
>>> make -C modem/ all
>>> make[1]: Entering directory
>>> `/usr/src/pkg/martian/martian-full-20100123/modem'
>>>      CC main.o
>>>      CC dumpers.o
>>>      CC log.o
>>>      CC session.o
>>>      CC mport.o
>>>      CC pty.o
>>> pty.c: In function ‘accept_client’:
>>> pty.c:290:18: warning: variable ‘timeout’ set but not used
>>> [-Wunused-but-set-variable]
>>>      CC sysdep.o
>>>      CC isr.o
>>>      CC smp.o
>>>      CC core_if.o
>>>      CC coresubst.o
>>>      CC link.o
>>>      CC tweakrelocsdynamic.o
>>>      CC coreadd.o
>>>      CC elf386tweakrelocs
>>>      LD marscore.o
>>>      TWEAK      marscore.o
>>>      LD martian_modem
>>> make[1]: Leaving directory
>>> `/usr/src/pkg/martian/martian-full-20100123/modem'
>>>
>>>
>>> On Mon, Nov 21, 2011 at 8:14 AM, Antonio Olivares
>>> <[email protected]>    wrote:
>>>> Edwin,
>>>>
>>>> I don't get the errors that you are getting :(  I get WARNINGS, but
>>>> that is about it.  martian module is created see below:
>>>>
>>>> [students@localhost martian-full-20100123]$ cat README
>>>> Martian is an alternative to the ltmodem and provides Linux support
>>>> for Agere WinModem hardware. Major difference is that core moved to
>>>> the user space.
>>>>
>>>> Driver comprises two parts:
>>>>         martian_dev - kernel module to configure devices, and serve irqs
>>>> from it
>>>>         martian_modem - user mode application to supply major IO, buffers,
>>>>                 user level streams.
>>>>
>>>> For specific details concerning distribution and usage look in
>>>> directories.
>>>>
>>>> When configuring wvdial add "Carrier Check = no" line. No modem status
>>>> is checked yet. Kernel mode part is linux-2.6 module.
>>>>
>>>> Project has a sitehttp://martian.barrelsoutofbond.org/.
>>>> There is also maintenance within the Debian distribution
>>>> Athttp://www.debian.org/distrib/packages  ,  search with "martian" for
>>>> direction to the most recent code.
>>>> [students@localhost martian-full-20100123]$ ls
>>>> ChangeLog     Concept  kmodule   martian.h  README      scripts
>>>> Cleaning.txt  INSTALL  Makefile  modem      sample.txt
>>>> [students@localhost martian-full-20100123]$ cat INSTALL
>>>> =================
>>>>     Building
>>>> =================
>>>>
>>>> In root directory run
>>>> $ make all
>>>>
>>>>
>>>> ==================
>>>>    Installation
>>>> ==================
>>>>
>>>> In root directory run
>>>> $ su
>>>> # make install
>>>>
>>>>
>>>> ==============
>>>>    Running
>>>> ==============
>>>>
>>>> Load module and run martian_modem first.
>>>> # modprobe martian_dev
>>>> # martian_modem [Options] [Tty]
>>>>
>>>> Now Tty is the name of the device file to represent your modem. You'll
>>>> supply it to the dialer. /dev/ttySM0 if argument omitted. Left
>>>> martian_modem running and start the dialer.
>>>>
>>>> See options available
>>>> # martian_modem --help
>>>>
>>>>
>>>> ==============
>>>>      Auto
>>>> ==============
>>>>
>>>> In scripts/ directory run automate.sh.
>>>> $ cd scripts/
>>>> $ ./automate.sh
>>>>
>>>> You can supply the option to be passed to martian_modem on loading like
>>>> $ ./automate --mode 0660
>>>>
>>>> See ./automate.sh --help for more options.
>>>>
>>>>
>>>> ==============
>>>>     Notes
>>>> ==============
>>>>
>>>> 'martian_modem' program is a crucial part of the driver. It should be
>>>> running as long as you access the modem.
>>>>
>>>> For technical reasons carrier status support is not available for the
>>>> modem client. Configure dialer respectively. For wvdial add "Check
>>>> Carrier = No" line to the configuration file.
>>>>
>>>>
>>>> x86_64 platform.
>>>> ----------------
>>>>
>>>> martian_modem is a 32-bit application. It can be built on x86_64 the
>>>> way prescribed, but you need 32-bit development environment for that.
>>>> Second option is to use binary built on i386.
>>>>
>>>> To compile and install module only do
>>>> $ make -C kmodule/ modules
>>>> $ su
>>>> # make -C kmodule/ install
>>>>
>>>> [students@localhost martian-full-20100123]$ make -C kmodule/ modules
>>>> make: Entering directory
>>>> `/home/students/Downloads/martian-full-20100123/kmodule'
>>>> make -C /lib/modules/3.1.1-2.fc16.x86_64/build
>>>> M="/home/students/Downloads/martian-full-20100123/kmodule"  modules
>>>> make[1]: Entering directory `/usr/src/kernels/3.1.1-2.fc16.x86_64'
>>>>   CC [M]  /home/students/Downloads/martian-full-20100123/kmodule/martian.o
>>>> /home/students/Downloads/martian-full-20100123/kmodule/martian.c: In
>>>> function ‘martian_isr’:
>>>> /home/students/Downloads/martian-full-20100123/kmodule/martian.c:135:27:
>>>> warning: value computed is not used [-Wunused-value]
>>>>   CC [M]  /home/students/Downloads/martian-full-20100123/kmodule/marsio.o
>>>> /home/students/Downloads/martian-full-20100123/kmodule/marsio.c:358:11:
>>>> warning: ‘mars_read_register_rem’ defined but not used
>>>> [-Wunused-function]
>>>> /home/students/Downloads/martian-full-20100123/kmodule/marsio.c:371:13:
>>>> warning: ‘mars_write_register_rem’ defined but not used
>>>> [-Wunused-function]
>>>>   CC [M]  /home/students/Downloads/martian-full-20100123/kmodule/mfifo.o
>>>>   LD [M]
>>>>   /home/students/Downloads/martian-full-20100123/kmodule/martian_dev.o
>>>>   Building modules, stage 2.
>>>>   MODPOST 1 modules
>>>>   CC
>>>>   /home/students/Downloads/martian-full-20100123/kmodule/martian_dev.mod.o
>>>>   LD [M]
>>>>   /home/students/Downloads/martian-full-20100123/kmodule/martian_dev.ko
>>>> make[1]: Leaving directory `/usr/src/kernels/3.1.1-2.fc16.x86_64'
>>>> make: Leaving directory
>>>> `/home/students/Downloads/martian-full-20100123/kmodule'
>>>> [students@localhost martian-full-20100123]$ make -C kmodule/ install
>>>> make: Entering directory
>>>> `/home/students/Downloads/martian-full-20100123/kmodule'
>>>> make -C /lib/modules/3.1.1-2.fc16.x86_64/build
>>>> M="/home/students/Downloads/martian-full-20100123/kmodule"
>>>> modules_install
>>>> make[1]: Entering directory `/usr/src/kernels/3.1.1-2.fc16.x86_64'
>>>>   INSTALL
>>>> /home/students/Downloads/martian-full-20100123/kmodule/martian_dev.ko
>>>> cp: cannot create regular file
>>>> `/lib/modules/3.1.1-2.fc16.x86_64/extra/martian_dev.ko': Permission
>>>> denied
>>>>   DEPMOD  3.1.1-2.fc16.x86_64
>>>> FATAL: Could not open
>>>> /lib/modules/3.1.1-2.fc16.x86_64/modules.dep.temp for writing:
>>>> Permission denied
>>>> make[1]: *** [_emodinst_post] Error 1
>>>> make[1]: Leaving directory `/usr/src/kernels/3.1.1-2.fc16.x86_64'
>>>> make: *** [install] Error 2
>>>> make: Leaving directory
>>>> `/home/students/Downloads/martian-full-20100123/kmodule'
>>>> [students@localhost martian-full-20100123]$ su -c 'make -C kmodule/
>>>> install'
>>>> Password:
>>>> make: Entering directory
>>>> `/home/students/Downloads/martian-full-20100123/kmodule'
>>>> make -C /lib/modules/3.1.1-2.fc16.x86_64/build
>>>> M="/home/students/Downloads/martian-full-20100123/kmodule"
>>>> modules_install
>>>> make[1]: Entering directory `/usr/src/kernels/3.1.1-2.fc16.x86_64'
>>>>   INSTALL
>>>> /home/students/Downloads/martian-full-20100123/kmodule/martian_dev.ko
>>>>   DEPMOD  3.1.1-2.fc16.x86_64
>>>> make[1]: Leaving directory `/usr/src/kernels/3.1.1-2.fc16.x86_64'
>>>> if ! /sbin/modprobe -nq martian_dev ; then /sbin/depmod -a; fi
>>>> make: Leaving directory
>>>> `/home/students/Downloads/martian-full-20100123/kmodule'
>>>> [students@localhost martian-full-20100123]$ ls /lib/modules/`uname -r`/
>>>> build                modules.dep.bin      modules.pcimap
>>>> extra                modules.devname      modules.seriomap
>>>> kernel               modules.drm          modules.softdep
>>>> modules.alias        modules.ieee1394map  modules.symbols
>>>> modules.alias.bin    modules.inputmap     modules.symbols.bin
>>>> modules.block        modules.isapnpmap    modules.usbmap
>>>> modules.builtin      modules.modesetting  source
>>>> modules.builtin.bin  modules.networking   updates
>>>> modules.ccwmap       modules.ofmap        vdso
>>>> modules.dep          modules.order
>>>> [students@localhost martian-full-20100123]$ ls /lib/modules/`uname
>>>> -r`/extra/
>>>> martian_dev.ko
>>>> [students@localhost martian-full-20100123]$ ls /lib/modules/`uname
>>>> -r`/extra/ -l
>>>> total 536
>>>> -rw-rw-r--. 1 root root 546982 Nov 21 07:08 martian_dev.ko
>>>>
>>>> Please try the following and send it to us([email protected])
>>>> $ cd martian-full-20100123
>>>> $ make clean
>>>> $ make
>>>> $ sudo make install
>>>>
>>>> if one of these commands fails, please post all messages that you get
>>>> and attach them here.
>>>>
>>>> Regards,
>>>>
>>>> Antonio
>>>>
>>>> On Mon, Nov 21, 2011 at 6:58 AM, Antonio Olivares
>>>> <[email protected]>    wrote:
>>>>> Edwin,
>>>>>
>>>>> It could be a detection problem?  kernel 3.0.X is newer than 2.6.20,
>>>>> 2.6.39.X, etc.  Maybe martian code is not 3.X kernel friendly, I
>>>>> thought that there could be error messages about some
>>>>> things(functions) that have changed with the new kernel releases, but
>>>>> the make command returns something different.  I will try to check up
>>>>> on that and cc. to Marv in case he has some suggestions for you to try
>>>>> out.
>>>>>
>>>>> Regards,
>>>>>
>>>>> Antonio
>>>>>
>>>>> On Sun, Nov 20, 2011 at 10:51 PM, bartman2589<[email protected]>
>>>>>   wrote:
>>>>>> Antonio, thanks for taking the time to try to help me with this, when I
>>>>>> try
>>>>>> running just 'make' from within the folder I extracted the source to I
>>>>>> get
>>>>>> the following message:
>>>>>>
>>>>>> "The martian_dev.ko driver and the complementary helper martian_helper
>>>>>> are
>>>>>> for use with kernels after 2.6.20. Use the martian-20080407.tar.gz for
>>>>>> earlier kernels."
>>>>>>
>>>>>> It's as if it isn't recognizing that my kernel is newer than 2.6.20, I
>>>>>> also
>>>>>> noticed in the ModemData.txt file that it doesn't seem to notice that
>>>>>> the
>>>>>> 'linux-headers-3.0.0-12-generic' package is in fact already installed
>>>>>> (though I think this is more of a problem with scanmodem itself).
>>>>>>
>>>>>> Thanks,
>>>>>> Edwin
>>>>>>
>>>>>> On 11/20/2011 12:35 PM, Antonio Olivares wrote:
>>>>>>> Edwin,
>>>>>>>
>>>>>>> On Sun, Nov 20, 2011 at 11:23 AM, bartman2589<[email protected]>
>>>>>>>   wrote:
>>>>>>>> Hi to everyone who ends up receiving this, I'm having trouble
>>>>>>>> compiling/installing the 'martian-full-20100123' drivers obtained
>>>>>>>> from
>>>>>>>> http://linmodems.technion.ac.il/packages/ltmodem/kernel-2.6/martian/
>>>>>>>> under
>>>>>>>> Kubuntu 11.10 32 bit (if indeed that's the one I'm supposed to be
>>>>>>>> using),
>>>>>>>> I've attached the output from scanmodem (the ModemData.txt file and
>>>>>>>> the
>>>>>>>> scanout file), and here is the relevant output from the command 'sudo
>>>>>>>> lspci
>>>>>>>> -v':
>>>>>>>>
>>>>>>>> 03:01.0 Communication controller: Agere Systems 56k WinModem (rev 01)
>>>>>>>>     Subsystem: Zoom Telephonics Inc Device 9300
>>>>>>>>     Flags: bus master, medium devsel, latency 0, IRQ 9
>>>>>>>>     Memory at feaffc00 (32-bit, non-prefetchable) [size=256]
>>>>>>>>     I/O ports at bc00 [size=8]
>>>>>>>>     I/O ports at b800 [size=256]
>>>>>>>>     Capabilities: [f8] Power Management version 2
>>>>>>>>
>>>>>>>> I'm hoping someone can help me get this working.  I'm a bit of a
>>>>>>>> Linux
>>>>>>>> newb
>>>>>>>> and certainly not a linux programmer, but when I try to run 'make
>>>>>>>> all'
>>>>>>>> from
>>>>>>>> a shell prompt in the folder I extracted the source code into
>>>>>>>> (/home/edwin/martian-full-20100123), I get the following error:
>>>>>>>>
>>>>>>>> "make: *** No rule to make target `all'.  Stop.'"
>>>>>>> Did you try just make?
>>>>>>>
>>>>>>> $ make
>>>>>>>
>>>>>>> if it succeeds then,  run
>>>>>>> $ sudo make install
>>>>>>> afterwards.   If it does not please reply to this message and post the
>>>>>>> error messages.
>>>>>>>
>>>>>>> You do have the correct driver as scanModem recommends:
>>>>>>>
>>>>>>> For candidate card in slot 03:01.0, firmware information and bootup
>>>>>>> diagnostics are:
>>>>>>>   PCI slot      PCI ID          SubsystemID     Name
>>>>>>>   ----------    ---------       ---------       --------------
>>>>>>>   03:01.0       11c1:0442       141b:9300       Communication
>>>>>>> controller:
>>>>>>> Agere Systems
>>>>>>> 56k WinModem
>>>>>>>
>>>>>>>   Modem interrupt assignment and sharing:
>>>>>>>   19:          0   IO-APIC-fasteoi   uhci_hcd:usb3
>>>>>>>   --- Bootup diagnostics for card in PCI slot 03:01.0 ----
>>>>>>> [    0.177339] pci 0000:03:01.0: [11c1:0442] type 0 class 0x000780
>>>>>>> [    0.177356] pci 0000:03:01.0: reg 10: [mem 0xfeaffc00-0xfeaffcff]
>>>>>>> [    0.177366] pci 0000:03:01.0: reg 14: [io  0xbc00-0xbc07]
>>>>>>> [    0.177376] pci 0000:03:01.0: reg 18: [io  0xb800-0xb8ff]
>>>>>>> [    0.177421] pci 0000:03:01.0: supports D2
>>>>>>> [    0.177424] pci 0000:03:01.0: PME# supported from D2 D3hot D3cold
>>>>>>> [    0.177428] pci 0000:03:01.0: PME# disabled
>>>>>>>
>>>>>>>   The PCI slot 03:01.0 of the modem card may be disabled early in
>>>>>>>   a bootup process,  but then enabled later. If modem drivers load
>>>>>>>   but the  modem is not responsive, read DOCs/Bootup.txt about possible
>>>>>>> fixes.
>>>>>>>   Send dmesg.txt along with ModemData.txt [email protected]
>>>>>>>   if help is needed.
>>>>>>>
>>>>>>> If you are able to install the driver but the modem is unresponsive
>>>>>>> please do as instructed above.
>>>>>>>
>>>>>>> Regards,
>>>>>>>
>>>>>>> Antonio
>>>>>>>> I have tried searching on the Internet to find references on how to
>>>>>>>> correct
>>>>>>>> this problem but I can't seem to find anything relevant that I can
>>>>>>>> make
>>>>>>>> sense of.  So I'm turning to the Linmodems community in the hopes
>>>>>>>> that
>>>>>>>> somebody can help me figure this out.  Incidentally I'm also trying
>>>>>>>> to
>>>>>>>> install a similar modem into another computer, but I'll wait to see
>>>>>>>> what
>>>>>>>> I
>>>>>>>> learn here before I attempt to proceed further with the other system
>>>>>>>> (who
>>>>>>>> knows I may not need any help with that one once I get this one
>>>>>>>> figured
>>>>>>>> out
>>>>>>>> :) ).
>>>>>>>>
>>>>>>>> Thanks for any help anyone can provide,
>>>>>>>> Edwin Barton
>>>>>>>>
>>>>>>>>
>>>>>>>>
>>>>>>>>
>>>>>>>>