Como instalar placa de rede Ethernet - Motor-comm YT6801 - Debian 12 e Ubuntu

1 – Comprei um mini PC Mllse (Celeron N3350, 6GB RAM, 64GB MMC). Com o sistema windows ele funciona. Instalei um sistema linux debian 12 (mininal) sem ambiente grafico.

Reconhece a placa de rede wi-fi e conecta legal. Mas a rede cabeada nada achei um passo a passo no Github mas estou com muitas dificuldades para aplicar.

GitHub - leitor silencioso-cn/yt6801.

1 curtida

Vc so vai seguir o " Quick install with proper kernel settings" no tutorial, esse link baixa o zip indicado no github https://www.motor-comm.com/Public/Uploads/uploadfile/files/20240104/yt6801-linux-driver-1.0.27.zip vc vai baixar isso e extrair na sua pasta de preferencia, logo pos vc navega ate a pasta onde vc extraiu e execute o sh “sudo ./yt_nic_install.sh” dessa maneira(se vc não configurou senha root no debian vc vai poder usar o sudo, se tiver configurado vai precisar antes de digitar algo no terminal entrar direto como root ex: su - e navegar ate a pasta e so executar o ./yt_nic_install.sh no terminal) o resto parece que faz sozinho
alias tenha o pacote build-essentials instalado no debian

1 curtida

Após executar esse Sh não deu certo continuou sem funcionar, por isso recorri ao forum. :sweat_smile:

Agora fiquei curioso sobre esse pacote build-essentials.

Esse pacote serve pra puxar complementos de compilação de pacotes, no git parece requerir o binutils pra fazer isso mas creio que esteja junto no build-essentials
Geralmente instalando esses pacotes o script inicie normalmente

1 curtida

binutils tava instalado fiz o download usando wget, fiz unzip. (estou até orgulhoso tudo pelo terminal).

algo não parece certo, da esse erro do tal de make

********************  start  *********************************
Check old driver and unload it.
Build Motorcomm NIC driver module and install
./yt_nic_install.sh: line 108: make: command not found
Fail to make and please check manually.
********************  error end  *********************************

Tá faltando o pacote make no sistema
Chegou a instalar o build-essentials?

1 curtida

Falha minha, esqueci do build-essentials. Error novo kkk

********************  start  *********************************
Check old driver and unload it.
Build Motorcomm NIC driver module and install
warning: the compiler differs from the one used to build the kernel
  The kernel was built by: x86_64-linux-gnu-gcc-13 (Ubuntu 13.2.0-23ubuntu4) 13.2.0
  You are using:           gcc-13 (Ubuntu 13.2.0-23ubuntu4) 13.2.0
/home/user/yt6801/yt6801-linux-driver╘┤┬ы-1.0.27/src/fuxi-gmac-common.c: In function ‘fxgmac_default_config’:
/home/user/yt6801/yt6801-linux-driver╘┤┬ы-1.0.27/src/fuxi-gmac-common.c:79:5: error: implicit declaration of function ‘strlcpy’; did you mean ‘strscpy’? [-Werror=implicit-function-declaration]
   79 |     strlcpy(pdata->drv_name, FXGMAC_DRV_NAME, sizeof(pdata->drv_name));
      |     ^~~~~~~
      |     strscpy
/home/user/yt6801/yt6801-linux-driver╘┤┬ы-1.0.27/src/fuxi-gmac-common.c: At top level:
/home/user/yt6801/yt6801-linux-driver╘┤┬ы-1.0.27/src/fuxi-gmac-common.c:582:6: warning: no previous prototype for ‘fxgmac_print_pkt’ [-Wmissing-prototypes]
  582 | void fxgmac_print_pkt(struct net_device *netdev,
      |      ^~~~~~~~~~~~~~~~
cc1: some warnings being treated as errors
make[4]: *** [scripts/Makefile.build:243: /home/user/yt6801/yt6801-linux-driver╘┤┬ы-1.0.27/src/fuxi-gmac-common.o] Error 1
make[3]: *** [/usr/src/linux-headers-6.8.0-31-generic/Makefile:1926: /home/user/yt6801/yt6801-linux-driver╘┤┬ы-1.0.27/src] Error 2
make[2]: *** [Makefile:240: __sub-make] Error 2
make[1]: *** [Makefile:32: modules] Error 2
make: *** [Makefile:33: modules] Error 2
Fail to make and please check manually.
********************  error end  *********************************

Confere se tá instalado o linux-headers-amd64
Acredito que só falte ele

1 curtida

Com esse nome não encontrei to testando com o Ubuntu 24.04 Server. Tem uns 20 pacote linux-headers, mas nenhum amd64 ou parecido.

Teria como postar o conteúdo do Readme aq?

1 curtida

É o mesmo conteudo que postaram no GitHub. Mas pra novatos igual eu tá tenso kkk

This is the Linux device driver released for Motorcomm YT6801 Gigabit
Ethernet controllers with PCI-Express interface.
- Kernel source tree (supported Linux kernel 4.19 and latter.)
- Compiler/binutils for kernel compilation
make dir : mkdir yt6801
Unpack the zip file :
	# unzip yt6801-linux-driver-1.0.27.zip -d yt6801

Change to the directory:
	# cd yt6801

If you are running the target kernel, then you should be able to do :

	# ./yt_nic_install.sh	(as root or with sudo)

You can check whether the driver is loaded by using following commands.

	# lsmod | grep yt6801
	# ifconfig -a

If there is a device name, ethX, shown on the monitor, the linux
driver is loaded. Then, you can use the following command to activate
the ethX.

	# ifconfig ethX up

	,where X=0,1,2,...
1. Set manually a. Set the IP address of your machine.
		# ifconfig ethX "the IP address of your machine"

	b. Set the IP address of DNS.

	   Insert the following configuration in /etc/resolv.conf.

		nameserver "the IP address of DNS"

	c. Set the IP address of gateway.

		# route add default gw "the IP address of gateway"

2. Set by doing configurations in /etc/sysconfig/network-scripts
   /ifcfg-ethX for Redhat and Fedora, or /etc/sysconfig/network
   /ifcfg-ethX for SuSE. There are two examples to set network
   configurations.

	a. Fixed IP address:
		DEVICE=eth0
		BOOTPROTO=static
		ONBOOT=yes
		TYPE=ethernet
		NETMASK=255.255.255.0
		IPADDR=192.168.1.1
		GATEWAY=192.168.1.254
		BROADCAST=192.168.1.255

	b. DHCP:
		DEVICE=eth0
		BOOTPROTO=dhcp
		ONBOOT=yes
There are two ways to modify the MAC address of the NIC. 1. Use ifconfig:
	# ifconfig ethX hw ether YY:YY:YY:YY:YY:YY

   ,where X is the device number assigned by Linux kernel, and
	  YY:YY:YY:YY:YY:YY is the MAC address assigned by the user.

2. Use ip:

	# ip link set ethX address YY:YY:YY:YY:YY:YY

   ,where X is the device number assigned by Linux kernel, and
	  YY:YY:YY:YY:YY:YY is the MAC address assigned by the user.
Force the link status by using ethtool.
	a. Insert the driver first.
	b. Make sure that ethtool exists in /sbin.
	c. Force the link status as the following command.

		# ethtool -s ethX speed SPEED_MODE duplex DUPLEX_MODE autoneg NWAY_OPTION

		,where
			SPEED_MODE	= 1000	for 1000Mbps
					= 100	for 100Mbps
					= 10	for 10Mbps
			DUPLEX_MODE	= half	for half-duplex
					= full	for full-duplex
			NWAY_OPTION	= off	for auto-negotiation off (true force)
					= on	for auto-negotiation on (nway force)

	For example:

		# ethtool -s eth0 speed 100 duplex full autoneg on

	will force PHY to operate in 100Mpbs Full-duplex(nway force).
Transmitting Jumbo Frames, whose packet size is bigger than 1500 bytes, please change mtu by the following command.
# ifconfig ethX mtu MTU

, where X=0,1,2,..., and MTU is configured by user.

YT6801 supports Jumbo Frame size up to 9 kBytes.
1 curtida

Tenta clonar o do git que vc colocou o link e rode ele, creio que tenha alguma correção no script que ta diferente do original(pode baixar o zip tbm no github se quiser) repita a operação e se retornar erro vc posta aq

1 curtida

Fiz o download do zip direto do Git. O processo com o zip do Git funcionou agora com o comando “ip addr” já ta listando a placa cabeada. Agora é a segunda fase configurar esse trem.

Consegue me ajudar?

1 curtida

Provavelmente o dkms pra automatizar o processo caso o kernel mude, isso era pra ter te mandado instalar junto dos outros complementos
Mas pode instalar e se quiser pode rodar o script novamente que provavelmente vai lançar o arquivo pra automatizar
Outro fator e configurar no network manager o endereço como DHCP mas vc pode fazer isso usando o nmtui que e semi gráfico bem dizer kkkk

1 curtida

Fiz o seguinte

ifconfig ethX up

dhcpcd ethX

(onde X é o número de sua interface de rede, caso você possua mais de uma placa de rede).

Funciona que é uma beleza. Agradeço meu amigo. Certeza que vai ajudar uma galera com esses Mini PC.

1 curtida

Ótimo, caso um update de kernel remova ele aí vc pode instalar o pacote dkms e rodar o script novamente, mas somente se parar de funcionar

1 curtida

Este tópico foi fechado automaticamente 3 dias depois da última resposta. Novas respostas não são mais permitidas.