Ubuntu14.04 ec20 4G módulo ppp dial-rt3070 módulo wifi lanzamiento sofAP

Prólogo

Este plan es un enlace clave en un proyecto complejo, por lo que algunos lugares son muy útiles.
La arquitectura de hardware de esta solución es:

ec20--(串口)--stm32--(串口)--ch340--(USB)--linux--(USB)--rt3070

Entre ellos, ec20 y stm32 usan la placa de desarrollo común
ch340 con ec20. Se
usa el módulo de puerto serie común a USB (TTL a USB). Linux usa el sistema operativo Ubuntu 14.04 (máquina virtual).
Rt3070 usa el módulo de tarjeta de red inalámbrica común.

Hoyo principal

Primero, el conductor no coincide

Dos controladores usb deben poder funcionar:
uno es usb340 o 341 y el
otro es rt3070.
La razón del pozo: estos dos controladores pueden no coincidir con el kernel de Linux que instaló. Elegí el sistema linux5.0 al principio, lo que provocó que dos controladores no coincidieran y pasé mucho tiempo para hacer y modificar el código fuente del controlador. Con linux4.0, la construcción de servicio pesado completó las funciones requeridas en un día.

En segundo lugar, la configuración del puerto serie

Antes de marcar, debe asegurarse de que el puerto serie se puede comunicar. Dado que hay un stm32 en el medio para un reenvío de puerto serie, debe configurar la velocidad de transmisión del puerto serie para que sea la misma que la configuración stm32.
La razón de la minería en boxes: el esquema de marcación directa bajo el sistema linux provisto en el manual oficial ec20 está conectado directamente por USB, y estoy conectado a través de un puerto serie a un módulo USB. .

Empezar a trabajar

La máquina virtual Linux debe estar preparada, el sistema operativo selecciona Ubuntu14.04 (descárguelo e instálelo usted mismo)

Marcación de fase 1 ppp

Preparación

Se omiten las operaciones detalladas de stm32 y ec20. En stm32, la velocidad en baudios del puerto serie que conecta el módulo ec20 y ch341 debe establecerse en 115200, detener el bit 1, sin verificación, 8 bits de datos, configurar el puerto serie para reenviar directamente los datos recibidos al otro extremo.
Abra el puerto com 341 conectado a la PC a través del software de depuración en serie, configure la velocidad en baudios correspondiente, marque Enviar nueva línea y luego envíe AT . Si puede recibir OK , el canal que representa 4g y stm32 funciona normalmente.
Después de preparar la máquina virtual, es mejor poder copiar y pegar entre la máquina virtual y el host para facilitar el trabajo posterior y la corrección de errores. Después de encender la máquina virtual, inicie sesión como usuario root o puede iniciar sesión como usuario normal. Una vez que el inicio de sesión es exitoso, se abre la consola. En general, los usuarios deben configurar una cuenta de usuario root e iniciar sesión (se omiten las configuraciones). El resultado de inicio de sesión es como se muestra en la figura:
Cambiar de usuario normal a usuario raíz
luego conecte el usb al dispositivo serie. Conecté rt3070 y ch341, es gris cuando no está conectado, es brillante después de la conexión y se puede conectar con el ícono de clic derecho.
Logotipo de conexión
Verifique el estado de la conexión con el siguiente comando

lsusb

lsusb
Use el siguiente comando para ver el puerto serie al puerto usb,
dmesg | grep ttyS*
Puerto
donde ttyUSB0 es el puerto requerido para el próximo acceso telefónico ppp

Depure el puerto serie.
stty -F /dev/ttyUSB0
Si la impresión es normal, realice la acción de configurar el puerto serie. La
stty -F /dev/ttyUSB0 115200 cs8
configuración está completa y luego verifique si la configuración es correcta.
Configurar puerto serie
Si se le solicita que no haya permiso, puede usar chmod 777 para dar permiso

Pienso en qué más preparar ... debería desaparecer

Acción de marcación

Primero verifique la interfaz de red actual.
ifconfig
Interfaz de red
Tengo 3 interfaces aquí, una es el cable de red, la otra es el loopback local y la otra es el módulo inalámbrico
. Si no hay ppp0, la interfaz ppp0 se generará si la marcación es exitosa

La declaración de marcación es muy simple.
Preparaciones relacionadas principalmente.
Ejecute el siguiente código para generar el archivo de script lte e
vim /etc/ppp/peers/lte
ingrese lo siguiente

nodetach
nolock
/dev/ttyUSB0
115200
user "b"
password "m"
nocrtscts
modem
hide-password
usepeerdns
noauth
noipdefault
novj
novjccomp
noccp
debug
defaultroute
ipcp-accept-local
ipcp-accept-remote
connect 'chat -s -v -f /etc/ppp/peers/lte-chat-connect'
disconnect 'chat -s -v -f /etc/ppp/peers/lte-chat-disconnect'

Como se muestra
Ejecute el siguiente código para generar el archivo de script lte-chat-connect e
vim /etc/ppp/peers/lte-chat-connect
ingrese lo siguiente

ABORT 'NO CARRIER'
ABORT 'ERROR'
ABORT 'NO DIALTONE'
ABORT 'BUSY'
ABORT 'NO ANSWER'
'' AT
OK ATE0
OK ATD*99#
CONNECT ''
                

Como se muestra

Captura de pantalla de archivo
Ejecute el siguiente código para generar el archivo de script lte-chat-disconnect e
vim /etc/ppp/peers/lte-chat-disconnect
ingrese lo siguiente

ABORT OK

ABORT BUSY
ABORT DELAYED
ABORT "NO ANSWER"
ABORT "NO CARRIER"
ABORT "NO DIALTONE"
ABORT VOICE
ABORT ERROR
ABORT RINGING
TIMEOUT 12
"" \K
"" \K
"" \K
"" +++ATH
"" +++ATH
"" +++ATH
"" ATZ
SAY "\nGoodbay\n"\

Como se muestra

Como se muestra
También es posible usar vi en lugar de vim,
pero vi no es tan cómodo como vim.
La instalación de vim con un clic ahora está
apt install vim
completa con todos los preparativos
. Ven, comienza a marcar
pppd call lte&

La marcación exitosa se muestra en la figura:

Marque con éxito
En este momento, eche un vistazo al puerto de red:

Hecho
Aquí también explicamos cómo desconectar

poff

La consola de acceso telefónico tendrá nueva información de impresión. En
Imprimir informacion
este momento, si observa ifconfig, no habrá un puerto de red ppp0.

En este punto, la acción de marcación está completa.

El lanzamiento de la segunda etapa wifi

Hay muchos pozos en esta etapa, por favor prepare su propio motor de búsqueda.

Preparación

En primer lugar,
he enchufado la tarjeta de red anteriormente. Si el controlador se ha instalado correctamente, ifconfig se usa para ver la tarjeta de red wlan0. Si es un desastre, lo mejor es reinstalar el controlador.
Verifique el estado de la tarjeta de red.
iwconfig
Inserte la descripción de la imagen aquí
Como se muestra en la
imagen , actualmente no está en modo ap, pero la tarjeta de red ya está en su lugar. Verifique si la tarjeta de red admite ap (se admite rt3070. Echemos un vistazo al seguro).
iw list
Inserte la descripción de la imagen aquí
Si hay ap en esta sección de la información mostrada, puede admitir wifi.
Luego, prepárese para instalar la herramienta utilizada esta vez.
apt-get install hostapd dnsmasq
Uno es hostapd para administrar wifi, el otro es dnsmasq
dns proceso de instalación puede aparecer el siguiente error:
dns comienza anormal
esto puede omitirse, no se recomienda omitir las excepciones restantes, ya que dejará peligros ocultos.
Modificar el archivo de configuración de hostapd
[root@localhost ~]$ sudo vim /etc/hostapd/hostapd.conf
Escriba lo siguiente:

interface=wlan0
driver=nl80211
ssid=My_wifi
channel=6
hw_mode=g
ignore_broadcast_ssid=0
auth_algs=1
wpa=3
wpa_passphrase=12345678
wpa_key_mgmt=WPA-PSK
wpa_pairwise=TKIP
rsn_pairwise=CCMP

De esta manera , se prepara un wifi llamado My_wifi con una contraseña de 12345678 pero aún no se puede liberar.
Para habilitar este archivo de configuración, también debe realizar los siguientes cambios:
Primero ingrese el archivo para
# sudo vim /etc/init.d/hostapd
modificar un lugar
DAEMON_CONF=/etc/hostapd/hostapd.conf
como se muestra en la figura:

Imagen de arriba

El siguiente paso es configurar dnsmasq para que se
#sudo vim /etc/dnsmasq.conf
modifique de la siguiente manera:

interface=wlan0
listen-address=192.168.100.2
#no-dhcp-interface=
dhcp-range=192.168.100.50,192.168.100.150,12h
server=/google/8.8.8.8

El código de arriba

En este punto, la preparación de la configuración se ha completado. El siguiente paso es el enlace de ejecución sin problemas (o el enlace de búsqueda de errores de Zhixi. Le sugiero que vaya al foro de idiomas extranjeros para obtener información más completa)

Liberar acción wifi (sofAP)

Primero, suelte todos los comandos que se ejecutarán. Si no falta la configuración, ejecútela para liberar wifi:
1, habilite la tarjeta de red
sudo nmcli nm wifi off
sudo rfkill unblock wlan
sudo ifconfig wlan0 192.168.100.2 netmask 255.255.255.0 up
2, habilite dnsmask
sudo /etc/init.d/dnsmasq restart
3, habilite el hostapd
sudo service hostapd restart
para este paso, puede usar el comando iwconfig para ver el estado de la tarjeta de red, entonces debería ver modo maestro es el estado (AP) Figura:
Efecto de imagen
esta vez el teléfono está conectado con el wifi pero parece incapaz de acceder a Internet (si se está adquiriendo ip que la descripción anterior es incorrecta, por favor, compruebe la configuración de su propia)
4, y las redes NAT Habilitar reenvío de ruta
iptables -t nat -A POSTROUTING -o ppp0 -j MASQUERADE

iptables -A FORWARD -i ppp0 -o wlan0 -m state --state RELATED,ESTABLISH -j ACCEPT

iptables -A FORWARD -i wlan0 -o ppp0 -j ACCEPT

echo "1" > /proc/sys/net/ipv4/ip_forward

Esta vez el teléfono está conectado a Internet Wi-Fi se puede
terminar Sahua
4g-wifi

El éxito

Proceso de resumen

(Conexión de hardware omitida, solo operación de línea de comando de Linux)
1.ppp dial-up 2.release
stty -F /dev/ttyUSB0 115200 cs8
pppd call lte&
wifi

sudo nmcli nm wifi off
sudo rfkill unblock wlan
sudo ifconfig wlan0 192.168.100.2 netmask 255.255.255.0 up
sudo /etc/init.d/dnsmasq restart
sudo service hostapd restart

3. Habilitar nat y reenvío de ruta

sudo iptables -t nat -A POSTROUTING -o ppp0 -j MASQUERADE
sudo iptables -A FORWARD -i ppp0 -o wlan0 -m state --state RELATED,ESTABLISH -j ACCEPT
sudo iptables -A FORWARD -i wlan0 -o ppp0 -j ACCEPT
echo "1" > /proc/sys/net/ipv4/ip_forward

Conclusión

Comencé a estudiar este programa a partir de la 9.24, y completé la marcación el 2 de noviembre. Una gran parte era tiempo. Debido a la incompatibilidad de la versión 5.0linux y el controlador requerido, seguí estudiando el problema. El núcleo que me permitió completar esta función al final fue que elegí la versión 4.0 de Linux y comencé a verificar la información en el foro de Ubuntu. Me llevó un total de 2 o 2 días completar la reconstrucción.
Espero que no cometas los mismos errores que yo , para que puedas ahorrar tiempo y disfrutar de una vida mejor ヾ (◍ ° ∇ ° ◍) ノ ゙.

Adjuntar

Cerrar varias funciones:
desconectar la conexión ppp,
poff
cerrar wifi
ifconfig wlan0 down

19 artículos originales publicados · Me gusta5 · Visita 1283

Supongo que te gusta

Origin blog.csdn.net/ex_xyz/article/details/102471054
Recomendado
Clasificación