Skip to contentSkip to conversation

3g modem is not recognized as an ethernet device without rebooting

linux-hotplug Niyazi Sırt 1 participant 1 message May 24, 2014

lore
Share & tools
lore
#0 lore raw

I have two CentOS5 servers with kernel versions 3.4.52 and Huawei e353 usb 3g modem.
When I plug the modem to my server usb_modeswitch runs and I can see the modem as an ethernet device with "ifconfig -a" command on the properly working server.
But other server is not working properly. I can't see any ethernet after I plug the modem device.

- All of servers have the same versions of the usb_modeswitch rpm.

before running usb_modeswitch
working properly not working properly

# lsusb | grep 12d1                  # lsusb | grep 12d1
before Bus 001 Device 005: ID 12d1:1f01     Bus 001 Device 005: ID 
12d1:1f01

after running usb_modeswitch

working properly                     not working properly
# lsusb | grep 12d1                  # lsusb | grep 12d1
Bus 001 Device 005: ID 12d1:14db     Bus 001 Device 005: ID 12d1:14db

working properly not working properly

# rpm -qa | grep modesw                 # rpm -qa | grep modesw
usb_modeswitch-data-20130610-1.lbr usb_modeswitch-data-20130610-1.lbr
usb_modeswitch-1.2.6-2                  usb_modeswitch-1.2.6-2

- I have compared /etc/udev directories of the two servers with diff but there
isn't any difference

There is an interesting thing about the not properly working server. After I reboot the
server while the usb 3g modem plugged, the modem works properly and I can see
it as an ethernet device with the "ifconfig -a" command. So I thought that if i can
reload udev, I would see the modem as an ethernet device so I run the following commands:

/sbin/udevcontrol reload_rules
/sbin/start_udev

But it did not solve the problem. And also I thought that the two servers may have been
builded with different kernel parameters. So I compared the output of "sysctl -a" on each server.

# diff config_workingProperly config_notWorkingProperly -y

CONFIG_TREE_PREEMPT_RCU=y |
CONFIG_TREE_RCU=y
CONFIG_PREEMPT_RCU=y | #
CONFIG_PREEMPT_RCU is not set
# CONFIG_INLINE_SPIN_UNLOCK_IRQ is not set |
CONFIG_INLINE_SPIN_UNLOCK_IRQ=y
# CONFIG_INLINE_READ_UNLOCK is not set |
CONFIG_INLINE_READ_UNLOCK=y
# CONFIG_INLINE_READ_UNLOCK_IRQ is not set |
CONFIG_INLINE_READ_UNLOCK_IRQ=y
# CONFIG_INLINE_WRITE_UNLOCK is not set |
CONFIG_INLINE_WRITE_UNLOCK=y
# CONFIG_INLINE_WRITE_UNLOCK_IRQ is not set |
CONFIG_INLINE_WRITE_UNLOCK_IRQ=y
# CONFIG_PREEMPT_NONE is not set |
CONFIG_PREEMPT_NONE=y
CONFIG_PREEMPT=y | #
CONFIG_PREEMPT is not set
# CONFIG_BLK_DEV_FD is not set |
CONFIG_BLK_DEV_FD=m
# CONFIG_IDE_GD is not set |
CONFIG_IDE_GD=m
# CONFIG_BLK_DEV_IDECD is not set |
CONFIG_IDE_GD_ATA=y
# CONFIG_BLK_DEV_SR_VENDOR is not set |
CONFIG_BLK_DEV_SR_VENDOR=y
CONFIG_JFS_FS=m | #
CONFIG_JFS_FS is not set
# CONFIG_CUSE is not set |
CONFIG_CUSE=y
CONFIG_ISO9660_FS=m |
CONFIG_ISO9660_FS=y
CONFIG_UDF_FS=m |
CONFIG_UDF_FS=y
CONFIG_FAT_FS=m |
CONFIG_FAT_FS=y
CONFIG_MSDOS_FS=m |
CONFIG_MSDOS_FS=y
CONFIG_VFAT_FS=m |
CONFIG_VFAT_FS=y
CONFIG_SQUASHFS=m |
CONFIG_SQUASHFS=y
# CONFIG_SQUASHFS_XATTR is not set |
CONFIG_SQUASHFS_XATTR=y
# CONFIG_SQUASHFS_LZO is not set |
CONFIG_SQUASHFS_LZO=y
# CONFIG_SQUASHFS_XZ is not set |
CONFIG_SQUASHFS_XZ=y
CONFIG_CRC_ITU_T=m |
CONFIG_CRC_ITU_T=y

# CONFIG_RCU_BOOST is not set                                 <
CONFIG_UNINLINE_SPIN_UNLOCK=y                                 <
CONFIG_PREEMPT_COUNT=y                                        <
CONFIG_JFS_POSIX_ACL=y                                        <
CONFIG_JFS_SECURITY=y                                         <
# CONFIG_JFS_DEBUG is not set                                 <
CONFIG_JFS_STATISTICS=y                                       <
CONFIG_DEBUG_PREEMPT=y                                        <
CONFIG_RCU_CPU_STALL_VERBOSE=y                                <
# CONFIG_PREEMPT_TRACER is not set                            <
                                                               > 
CONFIG_OPTPROBES=y
                                                               > 
CONFIG_IDE_ATAPI=y
                                                               > # 
CONFIG_IDE_GD_ATAPI is not set
                                                               > 
CONFIG_BLK_DEV_IDECD=m
                                                               > 
CONFIG_BLK_DEV_IDECD_VERBOSE_ERRORS=y
                                                               > # 

CONFIG_LEDS_TRIGGER_IDE_DISK is not set

So what might be causing the problem? Why can't the other server identify my 3g modem as an ethernet device without rebooting?