LinuxQuestions.org

LinuxQuestions.org (/questions/)
-   Linux - Newbie (https://www.linuxquestions.org/questions/linux-newbie-8/)
-   -   Unable to install USB_ModeSwitch (https://www.linuxquestions.org/questions/linux-newbie-8/unable-to-install-usb_modeswitch-889116/)

sudhirpradhan 06-30-2011 01:06 AM

Unable to install USB_ModeSwitch
 
I couldn't connect my Micromax 300G modem in Debian Linux. From internet (in Windows Vista), I came across the information of USB_ModeSwitch and then I downloaded it. While going to install it, I came across the problem that TCL-interpreter is not available in Debian Linux. Then again I restarted my laptop in Windows Vista and connected my Micromax modem and from internet downloaded TCL8.5.10-src.tar.gz. But while going to install it, I came across the problem that " configure: error: no acceptable C compiler found in $PATH " . Also as presently, I am unable to connect my modem therefore I am unable to issue the code:" apt-get update ". Now I feel myself missed in the "LINUX SEA". Can anybody help me ?

Inkit 06-30-2011 04:55 AM

I have not tried connecting to the net using a phone myself, but have you tried configuring the network manager. Most of the time, if you configure the network manager it is sufficient.

kyr0 06-30-2011 05:01 AM

Hi,

usb-modeswitch is in the debian repository, you dont have to download it from source. You can install it with:
Code:

apt-get update && apt-get install usb-modeswitch
kyr0

sudhirpradhan 06-30-2011 08:36 AM

Unable to install USB_ModeSwitch
 
Quote:

Originally Posted by Inkit (Post 4400080)
I have not tried connecting to the net using a phone myself, but have you tried configuring the network manager. Most of the time, if you configure the network manager it is sufficient.

Hello Inkit, as I have no landline phone connection therefore the auto configuration of network menager get failed during installation. As far as manual configuration is concerned, what should be the values of the variables: nameserver, IP address, IPADDR, NETMASK, BROADCAST, GATEWAY.(Reference:Learning DEBIAN GNU/LINUX, Chapter-10.2.3 and 10.2.4) Waiting for your response. Thanking you.

sudhirpradhan 06-30-2011 10:07 AM

Quote:

Originally Posted by kyr0 (Post 4400086)
Hi,

usb-modeswitch is in the debian repository, you dont have to download it from source. You can install it with:
Code:

apt-get update && apt-get install usb-modeswitch
kyr0

Hello, I issued the above code as a root user. After that the following lines appeared on the screen.

Ign cdrom://[Debian GNU/Linux 5.0.6 - Lenny_ - Official i386 DVD Binary-1 20100904-19:12] lenny Release.gpg

Ign cdrom://[Debian GNU/Linux 5.0.6 - Lenny_ - Official i386 DVD Binary-1 20100904-19:12] lenny Release

Ign cdrom://[Debian GNU/Linux 5.0.6 - Lenny_ - Official i386 DVD Binary-1 20100904-19:12] lenny/contrib Packages/DiffIndex

Ign cdrom://[Debian GNU/Linux 5.0.6 - Lenny_ - Official i386 DVD Binary-1 20100904-19:12] lenny/main Packages/DiffIndex

Reading package lists... Done
Reading package lists... Done
Building dependency tree
Reading state information... Done
E: Couldn't find package usb-modeswitch

Please navigate me to come out of this error message. Waiting for your helpful response. Thanking you.

kyr0 06-30-2011 10:16 AM

Quote:

Originally Posted by sudhirpradhan (Post 4400334)
Hello, I issued the above code as a root user. After that the following lines appeared on the screen.

Ign cdrom://[Debian GNU/Linux 5.0.6 - Lenny_ - Official i386 DVD Binary-1 20100904-19:12] lenny Release.gpg

Ign cdrom://[Debian GNU/Linux 5.0.6 - Lenny_ - Official i386 DVD Binary-1 20100904-19:12] lenny Release

Ign cdrom://[Debian GNU/Linux 5.0.6 - Lenny_ - Official i386 DVD Binary-1 20100904-19:12] lenny/contrib Packages/DiffIndex

Ign cdrom://[Debian GNU/Linux 5.0.6 - Lenny_ - Official i386 DVD Binary-1 20100904-19:12] lenny/main Packages/DiffIndex

Reading package lists... Done
Reading package lists... Done
Building dependency tree
Reading state information... Done
E: Couldn't find package usb-modeswitch

Please navigate me to come out of this error message. Waiting for your helpful response. Thanking you.

Hi, It looks like you only have the repositories from the Installation DVD configured. Add these lines to your sources.list file. The sources.list file can be found in /etc/apt/ (edit this file as root)

Code:

deb http://ftp.us.debian.org/debian/ lenny main contrib non-free
deb-src http://ftp.us.debian.org/debian/ lenny main contrib non-free

You can also change the us part of the url for your country. E.a. uk, fr...

After you add these, run a apt-get update to update the repository. By the way, is there a reason why you run lenny? The new stable version, squeeze, has been out for a while.

Kyr0

sudhirpradhan 06-30-2011 01:03 PM

Quote:

Originally Posted by kyr0 (Post 4400347)
Hi, It looks like you only have the repositories from the Installation DVD configured. Add these lines to your sources.list file. The sources.list file can be found in /etc/apt/ (edit this file as root)

Code:

deb http://ftp.us.debian.org/debian/ lenny main contrib non-free
deb-src http://ftp.us.debian.org/debian/ lenny main contrib non-free

You can also change the us part of the url for your country. E.a. uk, fr...

After you add these, run a apt-get update to update the repository. By the way, is there a reason why you run lenny? The new stable version, squeeze, has been out for a while.

Kyr0

Hello, as per your instruction, I edited the file present at /etc/apt/sources.list and then run the code: apt-set update && apt-get install usb-modeswitch . Then the following messages appeared.

W: Failed to fetch http://ftp.us.debian.org/debian/lenn...in/Release.gpg
Could not resolve 'ftp.us.debian.org'

W: Some index files failed to download, they have been ignored, or old ones used instead

W: You may want to run apt-get update to correct these problems

Reading package lists... Done
Building dependency tree
Reading state information... Done

E: Couldn't find package usb-modeswitch

After this I issued the code: apt-get update and then the message that appeared on the screen is:

W: Failed to fetch http://ftp.us.debian.org/debian/lenn...in/Release.gpg
Could not resolve 'ftp.us.debian.org'

W: Some index files failed to download, they have been ignored, or old ones used instead

W: You may want to run apt-get update to correct these problems

Above all, I want to make it clear that the only medium available with me to get connected with internet is my Micromax 300G modem (that works fine in Windows Vista) and now I want to use that modem to get connected with internet in Linux operating system. As till now I am not successful to mount this modem, so how will I be able to use the code: apt-get update !! What I want to convey is that my requirement is to install usb-modeswitch first and then update the Debian system.

Yes, I have not wedded to lenny. The only resean to use it is that I have downloaded it(around 3 months ago) using this Micromax 300G modem (whose downloading speed is 15 to 18 kbps) and the downloading duration was one week. I am afraid for this frustrating slow speed to download the recent version "sqeeze".

After all, thanks a lot for your helpful suggestion. Once again I request you to look inside my problem. Waiting for your suggestions. Thanks.

kyr0 06-30-2011 01:55 PM

Ah, I missed the fact that you did not have internet. That is my fault. The apt-get's wont work in that case.

Then its back to building it from source. The original post you made was about a C compiler not being present in your path?

Try running
Code:

apt-get install build-essential
This should get you all the tools you need to build the software correctly via the README or INSTALL file that came with the tar. If you run ./configure it will tell you if there are any dependencies you might be missing.

Good luck! -kyr0

sudhirpradhan 07-02-2011 09:02 AM

Quote:

Originally Posted by kyr0 (Post 4400574)
Ah, I missed the fact that you did not have internet. That is my fault. The apt-get's wont work in that case.

Then its back to building it from source. The original post you made was about a C compiler not being present in your path?

Try running
Code:

apt-get install build-essential
This should get you all the tools you need to build the software correctly via the README or INSTALL file that came with the tar. If you run ./configure it will tell you if there are any dependencies you might be missing.

Good luck! -kyr0

Hello Kyro, according to your instruction, I issued the code:" apt-get install build-essential " and then successfully installed the necessary tools like C compiler, make facility etc. After that I successfully installed tcl-interpreter (version:8.5.10), then libusb-1.0.8 . In these two cases, I copied the tar file to location /usr/local/bin , extracted them and entered into the respective extracted folders. After that I issued the codes: " ./configure ", " make "," make install ". Then I installed the package usb-modeswitch-data-20110619 . In this case I extracted the tar file moved it to location /usr/local/bin and the entered into the extracted folder and issued the code: " make install ". It seems that this package also get installed properly. After this I extracted the tar file of package USB-ModeSwitch and moved it to /usr/local/bin and then entered into the extracted folder and edited the usb_modeswitch.conf file as:

#Configuration for the usb_modeswitch package, a mode switching tool for

# USB devices providing multiple states or modes


# This file is evaluated by the wrapper script "usb_modeswitch_dispatcher"

# in /usr/sbin

# To enable an option, set it to "1", "yes" or "true" (case doesn't matter)

# Everything else counts as "disable"



# Disable automatic mode switching globally (e.g. to access the original

# install storage)




DisableSwitching=1




# Enable logging (results in a extensive report file in /var/log, named

# "usb_modeswitch_<interface-name>" (and probably others)



EnableLogging=1


##############################################
#
#Settings for Micromax MMX 300G USB Modem#
##
#############################################


DefaultVendor = 0x1c9e

DefaultProduct = 0xf000



TargetVendor = 0x1c9e

TargetProduct = 0x9603



MessageEndpoint = 0x01



MessageContent="3687233119f50402527000000000000000000000"


Then I saved it and issued the code: " make ". Then I got the following errors:

debian:/usr/local/bin/usb-modeswitch-1.1.8# make
gcc -o usb_modeswitch usb_modeswitch.c -Wall -l usb
usb_modeswitch.c:56:17: error: usb.h: No such file or directory
In file included from usb_modeswitch.c:57:
usb_modeswitch.h:51: warning: ‘struct usb_dev_handle’ declared inside parameter list
usb_modeswitch.h:51: warning: its scope is only this definition or declaration, which is probably not what you want
usb_modeswitch.c: In function ‘main’:
usb_modeswitch.c:348: warning: implicit declaration of function ‘usb_init’
usb_modeswitch.c:351: warning: implicit declaration of function ‘usb_set_debug’
usb_modeswitch.c:353: warning: implicit declaration of function ‘usb_find_busses’
usb_modeswitch.c:354: warning: implicit declaration of function ‘usb_find_devices’
usb_modeswitch.c:397: error: dereferencing pointer to incomplete type
usb_modeswitch.c:398: error: dereferencing pointer to incomplete type
usb_modeswitch.c:400: warning: implicit declaration of function ‘usb_open’
usb_modeswitch.c:400: warning: assignment makes pointer from integer without a cast
usb_modeswitch.c:412: warning: passing argument 1 of ‘get_current_configuration’ from incompatible pointer type
usb_modeswitch.c:419: error: dereferencing pointer to incomplete type
usb_modeswitch.c:547: warning: passing argument 1 of ‘get_current_configuration’ from incompatible pointer type
usb_modeswitch.c:565: warning: implicit declaration of function ‘usb_close’
usb_modeswitch.c: In function ‘deviceDescription’:
usb_modeswitch.c:623: error: dereferencing pointer to incomplete type
usb_modeswitch.c:624: warning: implicit declaration of function ‘usb_get_string_simple’
usb_modeswitch.c:624: error: dereferencing pointer to incomplete type
usb_modeswitch.c:633: error: dereferencing pointer to incomplete type
usb_modeswitch.c:634: error: dereferencing pointer to incomplete type
usb_modeswitch.c:643: error: dereferencing pointer to incomplete type
usb_modeswitch.c:644: error: dereferencing pointer to incomplete type
usb_modeswitch.c: In function ‘deviceInquire’:
usb_modeswitch.c:676: warning: implicit declaration of function ‘usb_claim_interface’
usb_modeswitch.c:681: warning: implicit declaration of function ‘usb_clear_halt’
usb_modeswitch.c:683: warning: implicit declaration of function ‘usb_bulk_write’
usb_modeswitch.c:689: warning: implicit declaration of function ‘usb_bulk_read’
usb_modeswitch.c:716: warning: implicit declaration of function ‘usb_release_interface’
usb_modeswitch.c: In function ‘resetUSB’:
usb_modeswitch.c:732: warning: implicit declaration of function ‘sleep’
usb_modeswitch.c:734: warning: implicit declaration of function ‘usb_reset’
usb_modeswitch.c: In function ‘switchSendMessage’:
usb_modeswitch.c:807: warning: implicit declaration of function ‘usleep’
usb_modeswitch.c: In function ‘switchConfiguration’:
usb_modeswitch.c:832: warning: implicit declaration of function ‘usb_set_configuration’
usb_modeswitch.c: In function ‘switchAltSetting’:
usb_modeswitch.c:851: warning: implicit declaration of function ‘usb_set_altinterface’
usb_modeswitch.c: In function ‘switchHuaweiMode’:
usb_modeswitch.c:868: warning: implicit declaration of function ‘usb_control_msg’
usb_modeswitch.c:868: error: ‘USB_TYPE_STANDARD’ undeclared (first use in this function)
usb_modeswitch.c:868: error: (Each undeclared identifier is reported only once
usb_modeswitch.c:868: error: for each function it appears in.)
usb_modeswitch.c:868: error: ‘USB_RECIP_DEVICE’ undeclared (first use in this function)
usb_modeswitch.c:868: error: ‘USB_REQ_SET_FEATURE’ undeclared (first use in this function)
usb_modeswitch.c: In function ‘switchKobilMode’:
usb_modeswitch.c:914: error: ‘USB_TYPE_VENDOR’ undeclared (first use in this function)
usb_modeswitch.c:914: error: ‘USB_RECIP_DEVICE’ undeclared (first use in this function)
usb_modeswitch.c:914: error: ‘USB_ENDPOINT_IN’ undeclared (first use in this function)
usb_modeswitch.c: In function ‘switchSonyMode’:
usb_modeswitch.c:968: warning: assignment makes pointer from integer without a cast
usb_modeswitch.c: In function ‘switchActionMode’:
usb_modeswitch.c:1002: error: ‘USB_TYPE_CLASS’ undeclared (first use in this function)
usb_modeswitch.c:1002: error: ‘USB_RECIP_INTERFACE’ undeclared (first use in this function)
usb_modeswitch.c:1005: warning: implicit declaration of function ‘usb_interrupt_read’
usb_modeswitch.c:1008: warning: implicit declaration of function ‘usb_interrupt_write’
usb_modeswitch.c: In function ‘switchSequansMode’:
usb_modeswitch.c:1056: error: ‘USB_TYPE_VENDOR’ undeclared (first use in this function)
usb_modeswitch.c:1056: error: ‘USB_RECIP_DEVICE’ undeclared (first use in this function)
usb_modeswitch.c: In function ‘detachDriver’:
usb_modeswitch.c:1080: warning: implicit declaration of function ‘usb_get_driver_np’
usb_modeswitch.c:1096: warning: implicit declaration of function ‘usb_detach_kernel_driver_np’
usb_modeswitch.c: In function ‘checkSuccess’:
usb_modeswitch.c:1188: warning: assignment makes pointer from integer without a cast
usb_modeswitch.c:1193: error: dereferencing pointer to incomplete type
usb_modeswitch.c:1193: error: dereferencing pointer to incomplete type
usb_modeswitch.c: In function ‘search_devices’:
usb_modeswitch.c:1314: warning: implicit declaration of function ‘usb_get_busses’
usb_modeswitch.c:1314: warning: assignment makes pointer from integer without a cast
usb_modeswitch.c:1314: error: dereferencing pointer to incomplete type
usb_modeswitch.c:1316: error: dereferencing pointer to incomplete type
usb_modeswitch.c:1316: error: dereferencing pointer to incomplete type
usb_modeswitch.c:1318: error: dereferencing pointer to incomplete type
usb_modeswitch.c:1318: error: dereferencing pointer to incomplete type
usb_modeswitch.c:1319: error: dereferencing pointer to incomplete type
usb_modeswitch.c:1340: error: dereferencing pointer to incomplete type
usb_modeswitch.c:1347: error: dereferencing pointer to incomplete type
usb_modeswitch.c:1347: error: dereferencing pointer to incomplete type
usb_modeswitch.c:1349: error: dereferencing pointer to incomplete type
usb_modeswitch.c:1359: error: dereferencing pointer to incomplete type
usb_modeswitch.c:1369: error: dereferencing pointer to incomplete type
usb_modeswitch.c:1371: error: dereferencing pointer to incomplete type
usb_modeswitch.c:1374: error: dereferencing pointer to incomplete type
usb_modeswitch.c:1375: error: dereferencing pointer to incomplete type
usb_modeswitch.c:1399: warning: assignment makes pointer from integer without a cast
usb_modeswitch.c:1400: warning: passing argument 1 of ‘get_current_configuration’ from incompatible pointer type
usb_modeswitch.c:1417: error: dereferencing pointer to incomplete type
usb_modeswitch.c:1417: error: dereferencing pointer to incomplete type
usb_modeswitch.c: In function ‘find_first_bulk_output_endpoint’:
usb_modeswitch.c:1439: error: dereferencing pointer to incomplete type
usb_modeswitch.c:1442: error: dereferencing pointer to incomplete type
usb_modeswitch.c:1443: error: dereferencing pointer to incomplete type
usb_modeswitch.c:1444: error: dereferencing pointer to incomplete type
usb_modeswitch.c:1444: error: ‘USB_ENDPOINT_TYPE_MASK’ undeclared (first use in this function)
usb_modeswitch.c:1444: error: ‘USB_ENDPOINT_TYPE_BULK’ undeclared (first use in this function)
usb_modeswitch.c:1445: error: dereferencing pointer to incomplete type
usb_modeswitch.c:1445: error: ‘USB_ENDPOINT_DIR_MASK’ undeclared (first use in this function)
usb_modeswitch.c:1446: error: dereferencing pointer to incomplete type
usb_modeswitch.c: In function ‘find_first_bulk_input_endpoint’:
usb_modeswitch.c:1457: error: dereferencing pointer to incomplete type
usb_modeswitch.c:1460: error: dereferencing pointer to incomplete type
usb_modeswitch.c:1461: error: dereferencing pointer to incomplete type
usb_modeswitch.c:1462: error: dereferencing pointer to incomplete type
usb_modeswitch.c:1462: error: ‘USB_ENDPOINT_TYPE_MASK’ undeclared (first use in this function)
usb_modeswitch.c:1462: error: ‘USB_ENDPOINT_TYPE_BULK’ undeclared (first use in this function)
usb_modeswitch.c:1463: error: dereferencing pointer to incomplete type
usb_modeswitch.c:1463: error: ‘USB_ENDPOINT_DIR_MASK’ undeclared (first use in this function)
usb_modeswitch.c:1464: error: dereferencing pointer to incomplete type
usb_modeswitch.c: At top level:
usb_modeswitch.c:1471: error: conflicting types for ‘get_current_configuration’
usb_modeswitch.h:51: error: previous declaration of ‘get_current_configuration’ was here
usb_modeswitch.c: In function ‘get_current_configuration’:
usb_modeswitch.c:1476: error: ‘USB_TYPE_STANDARD’ undeclared (first use in this function)
usb_modeswitch.c:1476: error: ‘USB_RECIP_DEVICE’ undeclared (first use in this function)
usb_modeswitch.c:1476: error: ‘USB_REQ_GET_CONFIGURATION’ undeclared (first use in this function)
usb_modeswitch.c: In function ‘get_interface0_class’:
usb_modeswitch.c:1496: error: dereferencing pointer to incomplete type
usb_modeswitch.c:1499: error: dereferencing pointer to incomplete type
usb_modeswitch.c:1500: error: dereferencing pointer to incomplete type
usb_modeswitch.c:1501: error: dereferencing pointer to incomplete type
make: *** [usb_modeswitch] Error 1


I know that it is a tedious job to look into this error. Still then I feel now that I am at the threshold of success and I request you to help me a little bit more. Waiting for your positive response. Thanking you ---Sudhir .

Inkit 07-02-2011 09:29 PM

Hi Sudhir,
I'm sorry, I guess I didn't read your first post carefully. It seems like you have a micromax data card, not the phone that you are using to connect to the net. If I am right you don't have to install modeswitch, it comes auto installed in the system. I use Linux Mint Debian which is a debian derivative, and have a BSNL data card myself. All you do is right click on network manager>Edit connections>Mobile Broadband>Add. Do this about a minute after plugging the modem in so that the system can recognize it. In mine, this happens when the light changes from red to green on the modem, but each one is different.
When you click on add, you'll get a popup with your device name at the bottom. Just follow the instructions choosing the country, APN etc. Sometimes you'll not need to put in any extra info at all (like if you are using tata's photon+ and sometimes you have to give the dial out number too like in my case) We won't know until you get to that stage.
Give it a shot and see if it works.
Generally installing a USB modem takes less time in Linux than in windows because you don't have to install any special software, it's all there. You just have to configure it.

sudhirpradhan 07-03-2011 10:20 AM

Quote:

Originally Posted by Inkit (Post 4402977)
Hi Sudhir,
I'm sorry, I guess I didn't read your first post carefully. It seems like you have a micromax data card, not the phone that you are using to connect to the net. If I am right you don't have to install modeswitch, it comes auto installed in the system. I use Linux Mint Debian which is a debian derivative, and have a BSNL data card myself. All you do is right click on network manager>Edit connections>Mobile Broadband>Add. Do this about a minute after plugging the modem in so that the system can recognize it. In mine, this happens when the light changes from red to green on the modem, but each one is different.
When you click on add, you'll get a popup with your device name at the bottom. Just follow the instructions choosing the country, APN etc. Sometimes you'll not need to put in any extra info at all (like if you are using tata's photon+ and sometimes you have to give the dial out number too like in my case) We won't know until you get to that stage.
Give it a shot and see if it works.
Generally installing a USB modem takes less time in Linux than in windows because you don't have to install any special software, it's all there. You just have to configure it.


Hello Inkit, I am talking about the connection of "Micromax MMX300G" data card. As per your instruction, I searched for the path:"network manager>Edit connections>Mobile Broadband>Add
". But instead of that I found "System > Preferences > Network Manager Editor". But upon right click on it, the only options that are available are: "Add this launcher to panel", "Add this launcher to desktop", "Entire menu > Add this as drawer to panel", "Entire menu > Add this as menu to panel". After that I left clicked on the button "Network Manager Editor". Then I obtained a popup menu containing the items: "Name:______", "bssids:_______", "Last Used:_______","Security:_______".Out of these, the last three items were disabled.

After this failure, I go on Hit & Trial method and came across "Synaptic Package Manager". Using this I came across the fact that so many packages are available in the Debian DVD that are not installed at all. Then I go on selecting packages (that I feel would be in requirement at future) randomly and installed them. But after reboot I observed that two kernels have got installed into my system. Those are:

Debian GNU/Linux, Kernel 2.6.26-2-686
Debian GNU/Linux, Kernel 2.6.26-2-686(single-user mode)
Debian GNU/Linux, Kernel 2.6.26-2-486
Debian GNU/Linux, Kernel 2.6.26-2-486(single-user mode)

The first two lines were present previously. Then I got thrilled with fear and immediately formatted the partition and then once again installed : "Debian GNU/Linux 5.0.6 _Lenny_-Official i386 DVD Binary-1 20100904- 19:12".At this point I want to know the fact that "Whether two kernels (like above) can be present in one system(partition) without causing any instability to it ?"

Again in sequence of my main thread, I request a little bit of your attention about the fact that in which direction should I move now, so that I would be able to connect my Micromax MMX300G modem. Waiting for positive response. Thanking you.... Sudhir.

Inkit 07-03-2011 12:22 PM

Quote:

Whether two kernels (like above) can be present in one system(partition) without causing any instability to it
You should not have any problem. I sure you've tried restarting your system and since it's started there's no issues right.
Quote:

I searched for the path:"network manager>Edit connections>Mobile Broadband>Add
This is not a path. You right click on the network manager applet. It is usually the applet right next to the date on the bottom right of your screen. From there you proceed as I mentioned above.
I know that Huawei which makes the usb data card for most of the operators in India is recognized automatically and don't see any reason why the micromax should not be. Just follow the instructions and let me know if you reach any bottlenecks.


All times are GMT -5. The time now is 10:44 AM.