Suspender meu laptop quebra ethernet sobre firewire, existem comandos que podem consertá-lo?

5

Como mencionado nesta questão Estou usando um cabo firewire para fornecer uma rede privada entre meu laptop e minha área de trabalho, porque isso torna o uso do programa de compartilhamento de tela synergy muito melhor do que usar o WIFI.

No entanto, quando saio do meu escritório e suspendo meu laptop, quando volto no dia seguinte, a área de trabalho e o laptop não podem mais se comunicar através do firewire. O dispositivo firewire0 ainda tem um endereço IP. mas quando eu tento e ping na área de trabalho eu recebo no route to host

Estou usando o kernel 2.6.35-24-generic #42-Ubuntu SMP x86_64 no Ubuntu 10.10.

Existe alguma maneira de remediar isso sem reiniciar? Como remover alguns módulos do kernel e reinseri-los?

EDITAR: Veja o que tentei até agora e os resultados:

root@token:~# dmesg|tail -n 1
[592525.204024] firewire_core: phy config: card 0, new root=ffc1, gap_count=5

root@token:~# modprobe -r firewire_net firewire_ohci firewire_core
root@token:~# modprobe -v firewire_ohci
insmod /lib/modules/2.6.35-24-generic/kernel/lib/crc-itu-t.ko 
insmod /lib/modules/2.6.35-24-generic/kernel/drivers/firewire/firewire-core.ko 
insmod /lib/modules/2.6.35-24-generic/kernel/drivers/firewire/firewire-ohci.ko 

root@token:~# dmesg|tail
[592525.204024] firewire_core: phy config: card 0, new root=ffc1, gap_count=5
[592563.410868] firewire_ohci: Removed fw-ohci device.
[592579.160086] firewire_ohci: Added fw-ohci device 0000:02:00.0, OHCI v1.10, 4 IR + 8 IT contexts, quirks 0x2
[592579.160137] firewire_ohci: isochronous cycle inconsistent
[592579.660294] firewire_core: created device fw0: GUID 0000000000000000, S400
[592579.663805] firewire_core: created device fw1: GUID 0017f2fffe89bce6, S400
[592579.663813] firewire_core: phy config: card 0, new root=ffc1, gap_count=5
[592579.700720] firewire_core: phy config: card 0, new root=ffc1, gap_count=5
[592579.700842] firewire_core: refreshed device fw0
[592579.702603] firewire_net: firewire0: IPv4 over FireWire on device 0000000000000000

root@token:~# ping stan.firewire
PING stan.firewire (192.168.100.1) 56(84) bytes of data.
From token.local (192.168.100.3) icmp_seq=1 Destination Host Unreachable
From token.local (192.168.100.3) icmp_seq=2 Destination Host Unreachable
From token.local (192.168.100.3) icmp_seq=3 Destination Host Unreachable

EDIT 2: Eu também tentei remover os módulos antes de suspender e reinseri-los depois de retomar. Isso não funcionou: - (

EDIT 3: Se eu desconectar e reconectar o cabo firewire depois de retomar da suspensão, vejo a mensagem:

firewire_core: BM lock failed, making local node (ffc0) root

Eu não vejo esta mensagem quando eu desconectar / repor antes de suspender ...

    
por Josh 10.01.2011 / 19:06

3 respostas

2

Você já tentou usar modprobe ?

executando dmesg | grep firewire , obtenho:

[    1.192574] firewire_ohci 0000:0a:04.0: PCI INT A -> GSI 20 (level, low) -> IRQ 20
[    1.192585] firewire_ohci 0000:0a:04.0: setting latency timer to 64
...

Isso diz que o nome do módulo é firewire_ohci .

Então eu corro ( como raiz ) modprobe -vr firewire_ohci && modprobe -v firewire_ohci . Lá remove e insere os módulos, respectivamente.

    
por 10.01.2011 / 19:17
2

Acho que a tabela ARP acaba de ficar vazia. Tente isto:

arping -c 1 -I firewire0 remote_ip
    
por 23.03.2011 / 00:03
0

Você já tentou remover o cabo físico. ele deve alertar a pilha de que a conexão precisa ser reconstruída.

Desabilitar a conexão firewire e reativá-la também pode funcionar. Você pode adicionar um script que faz isso automaticamente no currículo.

DC

    
por 11.01.2011 / 03:06