Welcome to the Linux Foundation Forum!

USB Modem - Internal stuff in Slackware ?

Hai all,

Am using a USB modem in Slackware and Fedora. In order to get it work, we need make the kernel to consider that modem as network device, not a block storage device. This can be done using "usb_modeswitch" command.

But, with Fedora laughlin this get done with out usb_modeswitch, and in Slackware too.

Before booting the machine, if I plug the modem then started the machine means, Fedora is switching the modem to [fff1] from [fff5] . But, Slackware is not doing this, it is considering the modem as a block device[ from lsusb command, the state of modem is not changed to fff1 ]. In Slackware , after I completed the login process , then I plug the modem means, it is switching to [fff1] and I can able to browse.

So, my question is, How this plugging modem before booting differs from plugging modem after login process ? How the stuffs are treated and carried out internally ?

Comments

  • mfillpot
    mfillpot Posts: 2,177
    linustorvalds wrote:
    Hai all,

    Am using a USB modem in Slackware and Fedora. In order to get it work, we need make the kernel to consider that modem as network device, not a block storage device. This can be done using "usb_modeswitch" command.
    But, with Fedora laughlin this get done with out usb_modeswitch, and in Slackware too.

    Before booting the machine, if I plug the modem then started the machine means, Fedora is switching the modem to [fff1] from [fff5] . But, Slackware is not doing this, it is considering the modem as a block device[ from lsusb command, the state of modem is not changed to fff1 ]. In Slackware , after I completed the login process , then I plug the modem means, it is switching to [fff1] and I can able to browse.

    So, my question is, How this plugging modem before booting differs from plugging modem after login process ? How the stuffs are treated and carried out internally ?

    Have you attempted to create a new initrd file with the usbnet compiled into it or setting up a new udev rule to load the usbnet driver and start your configuration?
  • chekkizhar
    chekkizhar Posts: 182
    Have you attempted to create a new initrd file with the usbnet compiled into it or setting up a new udev rule to load the usbnet driver and start your configuration?

    No mathew. I did not tried with new "initrd" or "udev" for this.
    Is that internally carried out ?

    I did "pppsetup" only , for the USB modem in Slackware. Apart from that, I did not did anything manually. It is working fine if I plug-in after log-in.

    thank you
  • mfillpot
    mfillpot Posts: 2,177
    The intitrd is a basic image that contains the kernel modules that are necessary for bootup, and udev is what is used for new device recognition both when the system is running and when it is booting. By modifying the udev rules you can tell the system to automatically launch a set script or system event when certain hardware is detected.

    But you will have to lookup the udev manual and build the proper udev even yourself.
  • chekkizhar
    chekkizhar Posts: 182
    ok matt. I will gather information about udev and try to modify that accordingly, possibly this weekend and will report it.

    Thank you:) :)
  • chekkizhar
    chekkizhar Posts: 182
    In /etc/udev/rules.d/70-persistent-cd.rules files, I found the info related to the ZTE modem.
    But, when the modem is in fff1,the contents are ,


    SUBSYSTEM=="net", ACTION=="add", DRIVERS=="?*", ATTR{address}=="00:26:22:04:3f:d7", ATTR{dev_id}=="0x0", ATTR{type}=="1",
    KERNEL=="eth*", NAME="eth0"

    # PCI device 0x8086:0x4237 (iwlagn)
    SUBSYSTEM=="net", ACTION=="add", DRIVERS=="?*", ATTR{address}=="00:1e:65:26:d8:0e", ATTR{dev_id}=="0x0", ATTR{type}=="1",
    KERNEL=="wlan*", NAME="wlan0"


    # USB_Storage_FFF1 (pci-0000:00:1d.0-usb-0:2:1.0-scsi-0:0:0:0)
    SUBSYSTEM=="block", ENV{ID_CDROM}=="?*", ENV{ID_SERIAL}=="ZTE_USB_Storage_FFF1_000000000002-0:0", SYMLINK+="cdrom1", ENV{GENERATED}="1"
    SUBSYSTEM=="block", ENV{ID_CDROM}=="?*", ENV{ID_SERIAL}=="ZTE_USB_Storage_FFF1_000000000002-0:0", SYMLINK+="cdrom", ENV{GENERATED}="1"


    and when the modem is in ,"fff5" mode, [before switching to network device from block device]

    SUBSYSTEM=="net", ACTION=="add", DRIVERS=="?*", ATTR{address}=="00:26:22:04:3f:d7", ATTR{dev_id}=="0x0", ATTR{type}=="1",
    KERNEL=="eth*", NAME="eth0"

    # PCI device 0x8086:0x4237 (iwlagn)
    SUBSYSTEM=="net", ACTION=="add", DRIVERS=="?*", ATTR{address}=="00:1e:65:26:d8:0e", ATTR{dev_id}=="0x0", ATTR{type}=="1",
    KERNEL=="wlan*", NAME="wlan0"
  • mfillpot
    mfillpot Posts: 2,177
    I see that the automatic rules have set it correctly once the network device function is enabled.

    You can take the lines from "fff5" mode and append them into a new file which we can call /etc/udev/rules.d/20-modem.rules which should make that state automatic.

Categories

Upcoming Training