Ubuntu14.04:UNE 4G LTE 移动调制解调器未连接

Ubuntu14.04:UNE 4G LTE 移动调制解调器未连接

我最近将 Ubuntu 从 12.04 升级到了 14.04,结果我的 4G LTE 连接丢失了。(在 Windows 中它工作正常。我有双重启动)。当我尝试通过 UNE 图标连接时,Ubuntu 回复道:

设备已断开连接或不可用

输出lsusb表明4G移动调制解调器(HUAWEI E398)已被识别,如下所示:

Bus 002 Device 005: ID 0951:1642 Kingston Technology DT101 G2
Bus 002 Device 004: ID 046d:c019 Logitech, Inc. Optical Tilt Wheel Mouse
Bus 002 Device 002: ID 8087:0024 Intel Corp. Integrated Rate Matching Hub
Bus 002 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub
Bus 004 Device 001: ID 1d6b:0003 Linux Foundation 3.0 root hub
Bus 003 Device 003: ID 12d1:1506 Huawei Technologies Co., Ltd. E398 LTE/UMTS/GSM Modem/Networkcard
Bus 003 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub
Bus 001 Device 003: ID 1bcf:288a Sunplus Innovation Technology Inc. 
Bus 001 Device 002: ID 8087:0024 Intel Corp. Integrated Rate Matching Hub
Bus 001 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub

我卸载了驱动程序(由供应商提供)并尝试再次安装,但 Ubuntu 14.04 回复了一些错误消息,输出来自

"./install" in dir: /usr/local/UNE_4G_LTE is:
Installed version: 21.005.22.05.570
Installing version: 21.005.22.05.570

The software is exist. Do you want overwrite it? ([Y]/N):Y

Local path is: /usr/local/UNE_4G_LTE

Installing UNE 4G LTE...DRIVER COPY START
STA_PATH_FLAG=.
STA_PATH_FULL=/usr/local/UNE_4G_LTE/driver/install
START_PATH_DRIVER=/usr/local/UNE_4G_LTE/driver
CURRENT install from ./driver/install
INSTALL_PATH=/usr/local/UNE_4G_LTE
DRIVER COPY END
modinfo: ERROR: missing module or filename.
rmmod: ERROR: ../libkmod/libkmod-module.c:769 kmod_module_remove_module() could not remove 'cdc_ether': No such file or directory
rmmod: ERROR: could not remove module cdc_ether: No such file or directory
rmmod: ERROR: ../libkmod/libkmod-module.c:769 kmod_module_remove_module() could not remove 'usbnet': Resource temporarily unavailable
rmmod: ERROR: could not remove module usbnet: Resource temporarily unavailable
rmmod: ERROR: ../libkmod/libkmod-module.c:769 kmod_module_remove_module() could not remove 'hw_cdc_driver': No such file or directory
rmmod: ERROR: could not remove module hw_cdc_driver: No such file or directory
make -C src/ clean
make[1]: Entering directory `/usr/local/UNE_4G_LTE/driver/ndis_driver/ndis_src/src'
rm -rf *.o *.ko *~ core* .dep* .*.d .*.cmd *.mod.c *.a *.s .*.flags .tmp_versions Module.symvers Modules.symvers *.order
/usr/local/UNE_4G_LTE/driver/ndis_driver/ndis_src/src/add_header.sh  "clean" "/lib/modules/3.13.0-55-generic/build/include/linux/usb"
rmmod -f hw_cdc_driver
rmmod: ERROR: ../libkmod/libkmod-module.c:769 kmod_module_remove_module() could not remove 'hw_cdc_driver': No such file or directory
rmmod: ERROR: could not remove module hw_cdc_driver: No such file or directory
make[1]: *** [clean] Error 1
make[1]: Leaving directory `/usr/local/UNE_4G_LTE/driver/ndis_driver/ndis_src/src'
make: *** [clean] Error 2
make -C src/ modules
make[1]: Entering directory `/usr/local/UNE_4G_LTE/driver/ndis_driver/ndis_src/src'
#/usr/local/UNE_4G_LTE/driver/ndis_driver/ndis_src/src/add_header.sh  "modules" "/lib/modules/3.13.0-55-generic/build/include/linux/usb"
make -C /lib/modules/3.13.0-55-generic/build SUBDIRS=/usr/local/UNE_4G_LTE/driver/ndis_driver/ndis_src/src modules
make[2]: Entering directory `/usr/src/linux-headers-3.13.0-55-generic'
  CC [M]  /usr/local/UNE_4G_LTE/driver/ndis_driver/ndis_src/src/hw_cdc_driver.o
In file included from include/linux/module.h:17:0,
                 from /usr/local/UNE_4G_LTE/driver/ndis_driver/ndis_src/src/hw_cdc_driver.c:23:
/usr/local/UNE_4G_LTE/driver/ndis_driver/ndis_src/src/hw_cdc_driver.c: In function ‘__check_ncm_prefer_32’:
include/linux/moduleparam.h:349:45: warning: return from incompatible pointer type [enabled by default]
  static inline type *__check_##name(void) { return(p); }
                                             ^
include/linux/moduleparam.h:395:35: note: in expansion of macro ‘__param_check’
 #define param_check_bool(name, p) __param_check(name, p, bool)
                                   ^
include/linux/moduleparam.h:127:2: note: in expansion of macro ‘param_check_bool’
  param_check_##type(name, &(value));       \
  ^
include/linux/moduleparam.h:113:2: note: in expansion of macro ‘module_param_named’
  module_param_named(name, name, type, perm)
  ^
/usr/local/UNE_4G_LTE/driver/ndis_driver/ndis_src/src/hw_cdc_driver.c:113:1: note: in expansion of macro ‘module_param’
 module_param(ncm_prefer_32, bool, S_IRUGO);
 ^
/usr/local/UNE_4G_LTE/driver/ndis_driver/ndis_src/src/hw_cdc_driver.c: In function ‘__check_ncm_prefer_crc’:
include/linux/moduleparam.h:349:45: warning: return from incompatible pointer type [enabled by default]
  static inline type *__check_##name(void) { return(p); }
                                             ^
include/linux/moduleparam.h:395:35: note: in expansion of macro ‘__param_check’
 #define param_check_bool(name, p) __param_check(name, p, bool)
                                   ^
include/linux/moduleparam.h:127:2: note: in expansion of macro ‘param_check_bool’
  param_check_##type(name, &(value));       \
  ^
include/linux/moduleparam.h:113:2: note: in expansion of macro ‘module_param_named’
  module_param_named(name, name, type, perm)
  ^
/usr/local/UNE_4G_LTE/driver/ndis_driver/ndis_src/src/hw_cdc_driver.c:116:1: note: in expansion of macro ‘module_param’
 module_param(ncm_prefer_crc, bool, S_IRUGO);
 ^
/usr/local/UNE_4G_LTE/driver/ndis_driver/ndis_src/src/hw_cdc_driver.c: In function ‘__check_rt_debug’:
include/linux/moduleparam.h:349:45: warning: return from incompatible pointer type [enabled by default]
  static inline type *__check_##name(void) { return(p); }
                                             ^
include/linux/moduleparam.h:395:35: note: in expansion of macro ‘__param_check’
 #define param_check_bool(name, p) __param_check(name, p, bool)
                                   ^
include/linux/moduleparam.h:127:2: note: in expansion of macro ‘param_check_bool’
  param_check_##type(name, &(value));       \
  ^
include/linux/moduleparam.h:113:2: note: in expansion of macro ‘module_param_named’
  module_param_named(name, name, type, perm)
  ^
/usr/local/UNE_4G_LTE/driver/ndis_driver/ndis_src/src/hw_cdc_driver.c:128:1: note: in expansion of macro ‘module_param’
 module_param(rt_debug, bool, S_IRUGO|S_IWUSR);
 ^
/usr/local/UNE_4G_LTE/driver/ndis_driver/ndis_src/src/hw_cdc_driver.c: In function ‘rx_tlp_parse’:
/usr/local/UNE_4G_LTE/driver/ndis_driver/ndis_src/src/hw_cdc_driver.c:1085:7: warning: ISO C90 forbids mixed declarations and code [-Wdeclaration-after-statement]
       unsigned char *ptr = (unsigned char *)kmalloc(dev->hw_tlp_tmp_buf.bytesneeded + dev->hw_tlp_tmp_buf.pktlength
       ^
In file included from include/linux/cache.h:4:0,
                 from include/linux/time.h:4,
                 from include/linux/stat.h:18,
                 from include/linux/module.h:10,
                 from /usr/local/UNE_4G_LTE/driver/ndis_driver/ndis_src/src/hw_cdc_driver.c:23:
/usr/local/UNE_4G_LTE/driver/ndis_driver/ndis_src/src/hw_cdc_driver.c: In function ‘cdc_ncm_config’:
include/linux/kernel.h:678:17: warning: comparison of distinct pointer types lacks a cast [enabled by default]
  (void) (&_max1 == &_max2);  \
                 ^
/usr/local/UNE_4G_LTE/driver/ndis_driver/ndis_src/src/hw_cdc_driver.c:488:41: note: in expansion of macro ‘max’
 #define NCM_NTB_HARD_MAX_IN_SIZE ((u32)(max(16,ncm_read_size_in1k) * 1024))
                                         ^
/usr/local/UNE_4G_LTE/driver/ndis_driver/ndis_src/src/hw_cdc_driver.c:2037:24: note: in expansion of macro ‘NCM_NTB_HARD_MAX_IN_SIZE’
  if (ctx->rx_max_ntb > NCM_NTB_HARD_MAX_IN_SIZE) {
                        ^
include/linux/kernel.h:678:17: warning: comparison of distinct pointer types lacks a cast [enabled by default]
  (void) (&_max1 == &_max2);  \
                 ^
/usr/local/UNE_4G_LTE/driver/ndis_driver/ndis_src/src/hw_cdc_driver.c:488:41: note: in expansion of macro ‘max’
 #define NCM_NTB_HARD_MAX_IN_SIZE ((u32)(max(16,ncm_read_size_in1k) * 1024))
                                         ^
/usr/local/UNE_4G_LTE/driver/ndis_driver/ndis_src/src/hw_cdc_driver.c:655:76: note: in expansion of macro ‘NCM_NTB_HARD_MAX_IN_SIZE’
  ((void)(rt_debug && printk(KERN_ERR "Hw_cdc_driver######: " fmt "\n" , ## arg)))
                                                                            ^
/usr/local/UNE_4G_LTE/driver/ndis_driver/ndis_src/src/hw_cdc_driver.c:2038:3: note: in expansion of macro ‘devdbg’
   devdbg(ctx->ndev, "dwNtbInMaxSize (%u) must be at most %u "
   ^
include/linux/kernel.h:678:17: warning: comparison of distinct pointer types lacks a cast [enabled by default]
  (void) (&_max1 == &_max2);  \
                 ^
/usr/local/UNE_4G_LTE/driver/ndis_driver/ndis_src/src/hw_cdc_driver.c:488:41: note: in expansion of macro ‘max’
 #define NCM_NTB_HARD_MAX_IN_SIZE ((u32)(max(16,ncm_read_size_in1k) * 1024))
                                         ^
/usr/local/UNE_4G_LTE/driver/ndis_driver/ndis_src/src/hw_cdc_driver.c:655:76: note: in expansion of macro ‘NCM_NTB_HARD_MAX_IN_SIZE’
  ((void)(rt_debug && printk(KERN_ERR "Hw_cdc_driver######: " fmt "\n" , ## arg)))
                                                                            ^
/usr/local/UNE_4G_LTE/driver/ndis_driver/ndis_src/src/hw_cdc_driver.c:2038:3: note: in expansion of macro ‘devdbg’
   devdbg(ctx->ndev, "dwNtbInMaxSize (%u) must be at most %u "
   ^
include/linux/kernel.h:678:17: warning: comparison of distinct pointer types lacks a cast [enabled by default]
  (void) (&_max1 == &_max2);  \
                 ^
/usr/local/UNE_4G_LTE/driver/ndis_driver/ndis_src/src/hw_cdc_driver.c:488:41: note: in expansion of macro ‘max’
 #define NCM_NTB_HARD_MAX_IN_SIZE ((u32)(max(16,ncm_read_size_in1k) * 1024))
                                         ^
/usr/local/UNE_4G_LTE/driver/ndis_driver/ndis_src/src/hw_cdc_driver.c:2042:21: note: in expansion of macro ‘NCM_NTB_HARD_MAX_IN_SIZE’
   ctx->rx_max_ntb = NCM_NTB_HARD_MAX_IN_SIZE;
                     ^
/usr/local/UNE_4G_LTE/driver/ndis_driver/ndis_src/src/hw_cdc_driver.c: In function ‘hw_cdc_probe’:
/usr/local/UNE_4G_LTE/driver/ndis_driver/ndis_src/src/hw_cdc_driver.c:2590:3: error: implicit declaration of function ‘dbg’ [-Werror=implicit-function-declaration]
   dbg ("can't kmalloc dev");
   ^
cc1: some warnings being treated as errors
make[3]: *** [/usr/local/UNE_4G_LTE/driver/ndis_driver/ndis_src/src/hw_cdc_driver.o] Error 1
make[2]: *** [_module_/usr/local/UNE_4G_LTE/driver/ndis_driver/ndis_src/src] Error 2
make[2]: Leaving directory `/usr/src/linux-headers-3.13.0-55-generic'
make[1]: *** [modules] Error 2
make[1]: Leaving directory `/usr/local/UNE_4G_LTE/driver/ndis_driver/ndis_src/src'
make: *** [modules] Error 2
make -C src/ install
make[1]: Entering directory `/usr/local/UNE_4G_LTE/driver/ndis_driver/ndis_src/src'
#install -m 744 -c hw_cdc_driver.o /lib/modules/3.13.0-55-generic/kernel/drivers/usb/net
#depmod -a
#modprobe hw_cdc_driver
/usr/local/UNE_4G_LTE/driver/ndis_driver/ndis_src/src/add_header.sh  "install"
modprobe hw_cdc_driver
modprobe: FATAL: Module hw_cdc_driver not found.
make[1]: *** [install] Error 1
make[1]: Leaving directory `/usr/local/UNE_4G_LTE/driver/ndis_driver/ndis_src/src'
make: *** [install] Error 2

Install NDIS driver failed.
The compiling environment is not all ready.
Please check gcc, make and kernel buid(/lib/modules/3.13.0-55-generic/build) to be all installed?
Now please enter any key to finish other installations.

我不明白发生了什么,我在 Ubuntu 12.04 中编译和连接 4G 移动模型没有问题,我希望我能回到 12.04!有没有人遇到过类似的问题并解决了?这个问题让我抓狂,任何帮助都将不胜感激。

答案1

请不要使用 Une、Tigo 和其他 Movile 宽带设备供应商的供应商驱动程序。这些驱动程序会导致很多问题,并且很容易破坏您的互联网连接。我遇到了与 Movistar 的 ZTE 调制解调器类似的问题,我尝试安装驱动程序,但这让我无法上网,并破坏了我的调制解调器管理器。检查您是否安装了 GCC、g++ 和 cmake。您可以安装调制解调器管理器 GUI,它是为 Ubuntu 设计的。

答案2

您可以通过在终端中运行将调制解调器切换到仅调制解调器模式

echo -e 'AT^SETPORT="A1,A2;10,12,13,A2"\r' | sudo tee  /dev/ttyUSB0

然后重新插入调制解调器并等待 30 秒。

经过此设置后,调制解调器可能无法与 Windows 中的供应商软件配合使用。您可能需要在那里设置电话连接。

可以通过以下方式撤消此设置

echo -e 'AT^SETPORT="A1,A2;12,16,A1,A2"\r' | sudo tee  /dev/ttyUSB0

相关内容