LinuxQuestions.org
Download your favorite Linux distribution at LQ ISO.
Go Back   LinuxQuestions.org > Forums > Linux Forums > Linux - Newbie
User Name
Password
Linux - Newbie This Linux forum is for members that are new to Linux.
Just starting out and have a question? If it is not in the man pages or the how-to's this is the place!

Notices


Reply
  Search this Thread
Old 09-10-2008, 08:18 PM   #1
rbees
Member
 
Registered: Mar 2004
Location: northern michigan usa
Distribution: Debian Squeeze, Whezzy, Jessie
Posts: 871

Rep: Reputation: 43
Question using Motorokr Z6m as usb modem (check my last post)


Check last post for solution.

Ladies & Gentlemen,

Again, thank you for all the excellent advice given on this site. Kudos to the people that run it.

I am trying to set up a Motorokr Z6m as a usb modem on my network. The existing system is currently working using a Motorola E815 to provide this service. The issue is that the cdc_acm driver that works with the e815 does not work with the z6m. As can be seen by dmesg below the driver loads for the e815 but not the z6m.

Code:
Z6m # dmesg | tail
[ 5656.467139] usb 1-2: USB disconnect, address 18
[ 5656.467146] usb 1-2.1: USB disconnect, address 19
[ 5669.135286] usb 1-6: USB disconnect, address 17
[ 5726.722665] hub 2-0:1.0: unable to enumerate USB device on port 6
[ 5727.090656] usb 1-6: new full speed USB device using ohci_hcd and address 20
[ 5727.310823] usb 1-6: configuration #1 chosen from 1 choice
[ 5727.319304] usb 1-6: New USB device found, idVendor=22b8, idProduct=2b24
[ 5727.319312] usb 1-6: New USB device strings: Mfr=1, Product=2, SerialNumber=0
[ 5727.319316] usb 1-6: Product: Motorola Z6m
[ 5727.319320] usb 1-6: Manufacturer: Motorola Inc.

E815 # dmesg | tail
[ 6274.821522] drivers/usb/class/cdc-acm.c: v0.25:USB Abstract Control Model driver for USB modems and ISDN adapters
[ 6275.814231] usb 1-6: USB disconnect, address 21
[ 6276.212981] hub 2-0:1.0: unable to enumerate USB device on port 6
[ 6276.524992] usb 1-6: new full speed USB device using ohci_hcd and address 22
[ 6276.745202] usb 1-6: configuration #1 chosen from 1 choice
[ 6276.746656] cdc_acm 1-6:1.0: ttyACM0: USB ACM device
[ 6276.758735] usb 1-6: New USB device found, idVendor=22b8, idProduct=2a62
[ 6276.758743] usb 1-6: New USB device strings: Mfr=1, Product=2, SerialNumber=0
[ 6276.758747] usb 1-6: Product: Motorola E815
[ 6276.758750] usb 1-6: Manufacturer: Motorola, Inc.
#
So far google has not yielded any insight to the problem.

I am running Debian Testing on most of the machines hooked to my network, including the server (I know Stable would be better.) Currently 4 of the 5 machines hooked to my network can take over the internet connection sharing duties on short notice if need be.

I also looked at establishing a connection via bluetooth, haven't pursued it very far yet. When I looked at, I forget the command I ran, I didn't see dial-up-networking assigned to a rfcomm channel. But then I was going off from memory and what little I could access fast for a how-to and that didn't amount to much. So I may have missed it. I also had trouble getting the phone to pair with the laptop. I was probably missing several steps.

I have tried to access the phone with moto4lin without success too.

Any thought?

Thanks

Last edited by rbees; 09-24-2008 at 06:37 PM. Reason: success
 
Old 09-11-2008, 12:55 PM   #2
rbees
Member
 
Registered: Mar 2004
Location: northern michigan usa
Distribution: Debian Squeeze, Whezzy, Jessie
Posts: 871

Original Poster
Rep: Reputation: 43
update;

I found these instructions
http://tennessee.ubuntuforums.com/sh...343989&page=23

Everything worked until I tried to insert the usbserial module, which returned
Code:
# modprobe usbserial Vendor=22b8 ProdID=2b24
FATAL: Error inserting usbserial (/lib/modules/2.6.25-2-amd64/kernel/drivers/usb/serial/usbserial.ko): Unknown symbol in module, or unknown parameter (see dmesg)
#
I changed case on Vendor to vendor and re-ran the code and it gave
Code:
usbserial: `22b8' invalid for parameter `vendor'
I happen to notice that 22b8 is listed in moto4lin for the vendor id. Makes me wonder why the usbserial driver is not recognizing it as valid.

Later:

It occurs to me that some info on the ginny pig machine is in order, it is running a 64 bit system. The rest run the standard 32 bit. Also I am not running the most recent kernel on the 64 laptop because of the nvidia graphics and the hassle it is to update the driver for it.

Code:
:$ uname -r
2.6.25-2-amd64
The server is running the 2.6.26-? can't recall exactly. This is the machine that it will be hooked to for the most part. I will still need it to work on the laptop though when I am out on the road.

When I updated the kernel some time ago on the laptop form the .22 to the .25 series I noticed in the boot cycle that it takes some time (guessing at 20 seconds) for /dev to populate. This is the laptop with the 64bit. This does not happen on the other two machines that are running 'testing' and are on 32bit. Makes me wonder if this in not the reason the cell is not being recognized?

On the server I am seeing some erratic behavior from kppp in regards to the e815. I don't remember what kernel it was running when I first set it up (clean install of testing) a couple of months ago but it worked flawlessly. The phone could come and go and still reconnect. It had never worked so good. Then I updated it and then I began to have all kinds of connection issues, much worse than with the old server that was running Stable (Etch). I am not convinced that these problems are not due to the phone its self. The phone always was a little flaky.

Sometimes when the connection gets drooped the automatic reconnect works fine. At other times kppp will hang and must be killed. After killing it sometimes it will recognize the phone and sometimes not. Sometimes it will report that the phone is busy. Sometimes it just can't find it at all. All of these symptoms are random and intertwined with no seaming order to what occurs when. There is one constant though, rebooting the computer always corrects the problem, what ever it is, and then kppp will see the phone and connect it.

I don't know how to determine if these malfunctions are based in the driver, the pppd, or kppp. If it is a driver problem then I wonder if it is not related to it not loading for the rokr z6m.

Back to google
 
Old 09-11-2008, 08:23 PM   #3
rbees
Member
 
Registered: Mar 2004
Location: northern michigan usa
Distribution: Debian Squeeze, Whezzy, Jessie
Posts: 871

Original Poster
Rep: Reputation: 43
So OK more things to report.

By the way thanks for reading and listening to me relate my experience with this. Somehow it helps.

The issue with the modprobe error above was that I needed to use the correct case and information.

I left the usb route for a little bit and started playing with the bluetooth route. I have at least partial success. I have succeeded in moving files to and from the phone via the obexserver/client method.

I changed the mac:address in the bluetooth config file to the Z6m at the phone shop but couldn't get it to work. But I wasn't sure that I had rfcomm bound to the correct channel, so I dropped it because time was running out on me. I did not play with it last night but today for giggles I tried it again and kppp will recognize the phone via the bluetooth config I have set up to access the phone that way. The partial success, but that is where it ends.

The steps:

1 plug in usb bluetooth dongle
2 launch kppp
3 set the account and modem to the ones used to establish access via bluetooth.
4 hit connect
5 phone asks if I want to bond with the laptop. yes
6 phone asks for pin, which I enter (have tried several) and hit ok
7 laptop asks me for pin, which I enter (the same as the one tried above) and hit ok
8 phone says invalid pin, and this is the most useful part and then says 'try again later'. Like that is going to help. Duh

I have tried changing the /etc/bluetooth/hcid.conf file for the bluetooth to use a generic pin like 0000 on connect but the laptop is still asking for a pin and yes I restarted the bluetooth. Before I started messing with the config the system worked fine with the E815.

I pulled the dongle out and restarted everything I thought relevant to bluetooth and it still asks for the pin. I have not tried a complete restart of the machine.

Any thoughts?
 
Old 09-14-2008, 05:14 PM   #4
rbees
Member
 
Registered: Mar 2004
Location: northern michigan usa
Distribution: Debian Squeeze, Whezzy, Jessie
Posts: 871

Original Poster
Rep: Reputation: 43
update:

I found this info about the phone

Quote:
Although the Z6 name sounds similar, the Z6m is a complete different phone compared to the Z6. Whereas Z6's operating system is based on Linux the one for Z6m is based on BREW. And where the Z6 is a GSM phone Z6m is a CDMA phone.
I did see mention of a live cd made for cell phones but I have not been able to find it so for. Anyone know what it is called?

I tried passing the the vendor & product info to the cdc-acm module with modprobe but it does not like it or else I used the wrong syntax.

Code:
# modprobe cdc-acm vendor=0x22b8 product=0x2x24
FATAL: Error inserting cdc_acm (/lib/modules/2.6.25-2-amd64/kernel/drivers/usb/class/cdc-acm.ko): Unknown symbol in module, or unknown parameter (see dmesg)

# dmesg | tail
[11333.524935] cdc_acm: Unknown parameter `vendor'
I do understand from a different thread that I will have to roll my own kernel to get support for the Z6m and I am in the process of downloading the source and related now.

I have not found out how to add support for the Z6m to the source yet but I am still looking. I am not a programmer so I will need step by steps to succeed. Any thoughts about how to do this?

I looked around kernel.org and the kernel.trap but didn't find any usefull info, but I may not have been looking in the correct place.

Somebody has to know some thing to point me.

Please and thankyou
 
Old 09-21-2008, 09:10 PM   #5
rbees
Member
 
Registered: Mar 2004
Location: northern michigan usa
Distribution: Debian Squeeze, Whezzy, Jessie
Posts: 871

Original Poster
Rep: Reputation: 43
Unhappy new kernel complete with panic

Update:

I did manage to contact the cdc-acm driver maintainer about this phone.

Something in the code below tells him that this phone does not conform to the normal standards somehow.

Code:
& cat /proc/bus/usb/devices
T:  Bus=02 Lev=01 Prnt=01 Port=06 Cnt=02 Dev#=  8 Spd=12  MxCh= 0
D:  Ver= 1.10 Cls=ff(vend.) Sub=ff Prot=00 MxPS=64 #Cfgs=  1
P:  Vendor=22b8 ProdID=2b24 Rev= 0.02
S:  Manufacturer=Motorola Inc.
S:  Product=Motorola Z6m
C:* #Ifs= 2 Cfg#= 1 Atr=c0 MxPwr=500mA
I:* If#= 0 Alt= 0 #EPs= 3 Cls=ff(vend.) Sub=ff Prot=ff Driver=(none)
E:  Ad=81(I) Atr=03(Int.) MxPS=  16 Ivl=128ms
E:  Ad=82(I) Atr=02(Bulk) MxPS=  64 Ivl=0ms
E:  Ad=02(O) Atr=02(Bulk) MxPS=  64 Ivl=0ms
I:* If#= 1 Alt= 0 #EPs= 2 Cls=ff(vend.) Sub=ff Prot=ff Driver=(none)
E:  Ad=84(I) Atr=02(Bulk) MxPS=  64 Ivl=0ms
E:  Ad=04(O) Atr=02(Bulk) MxPS=  64 Ivl=0ms
He told me

Quote:
This is bad: It clearly indicates that the phone doesn't follow the USB
CDC ACM standard and Motorola instead opted for a vendor-specific
implementation of the interface.

You may have more luck with the usbserial driver, which can handle some
vendor-specific interface devices.

Another option, if the Z6m really is a CDC ACM phone, but only the
descriptors in it are wrong (this has happened with several released phones
already), you can edit the cdc-acm driver's exception table and add it.
I informed him that I didn't know what to add to the cdc-acm source for this phone and he sent me these instructions.

[QUOTE]Look for the "Motorola Q Phone" string in the file. Copy that block and
edit it to contain your phone product ID.
/QUOTE]

So I downloaded the 2.6.26.5 kernel source and made this change to /usr/src/linux-2.6.26.5/drivers/usb/class/cdc-acm.c to contain this

Code:
	{ USB_DEVICE(0x22b8, 0x7000), /* Motorola Q Phone */
	.driver_info = NO_UNION_NORMAL, /* has no union descriptor */
	},
	{ USB_DEVICE(0x22b8, 0x2b24), /* Motorola Z6m Phone */
	.driver_info = NO_UNION_NORMAL, /* has no union descriptor */
	},
	{ USB_DEVICE(0x0803, 0x3095), /* Zoom Telephonics Model 3095F USB MODEM */
	.driver_info = NO_UNION_NORMAL, /* has no union descriptor */
	},
Then I proceeded to compile my new kernel. The only problem is that it will not boot. I have compiled it twice.

The first time I cut out a lot of modules for things that I don't have on my machine. When I tried to boot it I got the kernel panic about not being able to mount the root file system. I thought I had the drive controllers compiled in so that I would not need the initrd image but it seams that that was not the case. So I tried makeing one from the stock config.

I ran these commands

$ make mrproper
$ make xconfig (loaded ./config from /boot/config-2.6.26-2-amd64)
$ make
su to root
# make modules_install
# make install
modified grub to boot new kernel
reboot. and kernel panic

Then I tried to make an initrd image with

# mkinitrd /boot/initrd-2.6.26.5.img 2.6.26.5

only to get this

bash: mkinitrd: command not found

So I have searched my machine only to find that the script is not on my machine.

Then I built a second kernel without changing the stock config following the same steps but that one won't boot either with out the initrd image.

I do know that when I install an updated kernel from the deb repositories apt-get builds the initrd image that it installs somehow.

I know that a kernel will boot without the initrd if the drivers for the drive controllers and file system are compiled in. But that will take time to figure out just which drivers to compile in for my machine. I would like to test the modifications of the cdc-acm driver to see if it will access the Z6m phone so that I can report to the developers whether it works or not.

So where do I get the mkinitrd script for a Debian based system? What package contains it?

Thanks
 
Old 09-21-2008, 10:26 PM   #6
rbees
Member
 
Registered: Mar 2004
Location: northern michigan usa
Distribution: Debian Squeeze, Whezzy, Jessie
Posts: 871

Original Poster
Rep: Reputation: 43
More info:

Following a different howto it tell me to run

depmod <version>
apt-get install yaird

yet yaird is not avilable in the repos I use.

Another howto tells me to run

make-kpkg clean

but I get the command not found error grrrr

I haven't had so much trouble getting something to work in a long time. Such is life with linux I guess.

What next?

Thanks
 
Old 09-22-2008, 08:11 PM   #7
rbees
Member
 
Registered: Mar 2004
Location: northern michigan usa
Distribution: Debian Squeeze, Whezzy, Jessie
Posts: 871

Original Poster
Rep: Reputation: 43
I haven't had so much trouble getting something to work in a long time. Such is life with linux I guess.

What next?

So ok; I started form the beginning with the howto and discovered that I needed to install the 'kernel-package' package and now the commands work. But now when I try to follow the instructions exactly I get this error

Code:
No rule to make target `/usr/src/linux-headers-2.6.26-1-amd64/arch/x86/boot/Makefile
I get this error if I run

# make clean && mrproper

from in the linux directory created in the howto, but if I run this command from within the linux-2.6.26.5 directory I don't get this error.

If I try to run make xconfig from the symbolicly linked directory linux I get this

# make xconfig
scripts/Makefile.build:41: /usr/src/linux-headers-2.6.26-1-amd64/scripts/basic/Makefile: No such file or directory
make[1]: *** No rule to make target `/usr/src/linux-headers-2.6.26-1-amd64/scripts/basic/Makefile'. Stop.
make: *** [scripts_basic] Error 2


I think a lot of my problems are related to the 64 bit system i am running. I have started the compile process on a different machine that also runs Debian Testing but it is a stantard 32 bit system.

I guess maybe I need to just delete the related directories and start over.

Some time later;

The desktop finally finished compiling the kernel and all went fine. I installed it and it booted up but the cdc-acm driver still does not access the phone correctly. The phone was connected to a bluetooth headset at the time.

after connecting the phone on the new kernel.

$ dmesg
usb 2-2: new full speed USB device using uhci_hcd and address 2
usb 2-2: configuration #1 chosen from 1 choice
cdc_acm: probe of 2-2:1.0 failed with error -22
cdc_acm: probe of 2-2:1.1 failed with error -22
usbcore: registered new interface driver cdc_acm
cdc_acm: v0.26:USB Abstract Control Model driver for USB modems and ISDN adapters

The phone was not accessable via kppp. I turned off the bluetooth headset and after disconecting and reconnecting the phone

& dmesg | tail
usb 2-2: configuration #1 chosen from 1 choice
cdc_acm: probe of 2-2:1.0 failed with error -22
cdc_acm: probe of 2-2:1.1 failed with error -22
usbcore: registered new interface driver cdc_acm
cdc_acm: v0.26:USB Abstract Control Model driver for USB modems and ISDN adapters
usb 2-2: USB disconnect, address 2
usb 2-2: new full speed USB device using uhci_hcd and address 3
usb 2-2: configuration #1 chosen from 1 choice
cdc_acm: probe of 2-2:1.0 failed with error -22
cdc_acm: probe of 2-2:1.1 failed with error -22
:~$

Any idea what 'error -22' means?

Maybe it is time to try the usbserial driver. Does any one know a good howto for debian?
 
Old 09-24-2008, 07:12 PM   #8
rbees
Member
 
Registered: Mar 2004
Location: northern michigan usa
Distribution: Debian Squeeze, Whezzy, Jessie
Posts: 871

Original Poster
Rep: Reputation: 43
Wow, it has been a long fight to get it to work.

I hope this helps someone get their phone working.

The driver maintainer (he is not the current one) told me to make one more change to the source.

Quote:
You'll likely need one more modification to the code. You'll need to
find the label "skip_normal_probe:" and move it after the /* workaround
for switched interfaces */ code block, just before /* Accept probe
requests ... */ comment.

I think that this is a bug in the driver, btw, but I'll have to check
with the current maintainer.
This stoped the errors when i pluged in the phone, but did not give me access.

I took another run at the usbserial driver from a different howto and did get it to work.

The steps.
Code:
# rmmod usb-storage
# rmmod usbserial
# lsusb
- The last command shoul show the device connected similiar to:
Bus 001 Device 003: ID 22b8:2b24 Motorola PCS
- disconnect the phone
# modprobe usbserial vendor=0X22b8 product=0X2b24
Connect the phone and point kppp (or what ever you use) to the correct /dev/??? and success.

It might not hurt to do a dmesg | tail to see where it put the phone and check that the driver did load correctly.

One negative is that these steps have to be taken if you reboot the machine.

I am still hoping that the driver maintainer can help me get the cdc-acm driver to work, but in the mean time this method works.

Thanks to all

Last edited by rbees; 07-05-2010 at 07:19 AM. Reason: error corrections
 
  


Reply


Thread Tools Search this Thread
Search this Thread:

Advanced Search

Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

BB code is On
Smilies are On
[IMG] code is Off
HTML code is Off



Similar Threads
Thread Thread Starter Forum Replies Last Post
problem with configuring my usb edge modem (wvdialconf can not detect modem):fedora 9 Asif Akter Linux - Hardware 1 01-10-2011 07:06 AM
Motorola MOTOROKR phone not detected sakitram Linux - Hardware 6 09-10-2008 07:27 PM
installing z55i phone as usb modem or bluetooth modem in fedora manoharan Linux - Hardware 1 10-17-2006 07:42 PM
SUSE 9.2 detect my [B]ADSL USB-Ethernet Modem-Router [/B] as a [B]Dial up modem[/B]. myprecius Linux - Hardware 0 06-27-2005 10:21 AM
Problem with Mandrake 10.0 Community, Sagem usb modem and logitech usb mouse. al370601 Mandriva 4 04-29-2004 07:48 PM


All times are GMT -5. The time now is 08:39 AM.

Main Menu
Advertisement
My LQ
Write for LQ
LinuxQuestions.org is looking for people interested in writing Editorials, Articles, Reviews, and more. If you'd like to contribute content, let us know.
Main Menu
Syndicate
RSS1  Latest Threads
RSS1  LQ News
Twitter: @linuxquestions
Facebook: linuxquestions Google+: linuxquestions
Open Source Consulting | Domain Registration