좋아, 여기에 내가 한 일이 있으며, HTC의 뿌리는 원하지 않습니다.
bind9 및 NAT 설정 ...
참고 : 1 : sudo echo 1> / proc / sys / net / ipv4 / ip_forward 만하면 권한 오류가 발생하므로 프로세스 스크립트는 다음과 같습니다. 특정 장치에 대한 매개 변수 추가
cd ~
echo '!/bin/bash
apt-get install bind9
iptables -A POSTROUTING -t nat -j MASQUERADE
echo 1 > /proc/sys/net/ipv4/ip_forward' > setup_bind9_nat.sh
chmod +x setup_bind9_nat.sh
sudo ./setup_bind9_nat.sh
이제 전화를 연결하고 '인터넷 통과'를 선택하십시오.
장치가 나타날 때까지 기다립니다 : 장치가 다음에
ifconfig
있는지 확인합니다.
arp
arp에 장치가 표시되지 않으면 장치의 플러그를 뽑은 다음 다시 연결하여 arp에 나타나야 제대로 작동하지 않습니다.
그러면 장치가 HTC 동기화에 메시지를 보내기 위해 대기하므로 HTC 동기화 메시지를 조롱해야합니다.
#change this line to be more specific if you have more than one usb network device
phone_usb_device="usb"
get_ip ()
{
arp -n | grep $phone_usb_device | awk '{print $1}'
}
#TODO: This needs a timeout and loop needs cleaning up, but works fine and borrowed from another post.
echo "waiting for IP on computer usb"
while [[ `get_ip` < 192 ]];do sleep 2; done
phoneip=`get_ip`
echo "IP adress is $phoneip "
echo -n -e "\x00\x02\x00\x00" | nc -q 2 $phoneip 6000 > /dev/null
D-Bus를 사용하여 버전을 작성할 수 있으므로 장치가 연결되어있을 때 후자가 자동으로 실행됩니다.
좋아, 여기 내 작업이 진행 중이다. 나는 d-bus에서 '일반적인'것을 찾을 수 없었기 때문에 udev를 사용하여 약간의 해킹 솔루션을 선택했다. 일치하는 매개 변수를 조금 더 잘 필터링하고 마지막 스크립트에 시간 초과를 추가하고 경우에 따라 arp를 조금 더 나은 것으로 바꿀 수 있는지 확인해야합니다 ./proc
here.s 내가 만든 /etc/udev/rules.d의 .rules 파일
cat /etc/udev/rules.d/htc-desire.rules
원하는대로 전화를 걸 수 있지만 숫자로 시작하지 마십시오. 마지막으로 실행됩니다.
원하는 편집기 등을 사용하여 파일에 다음을 sudo로 추가하십시오.
#KERNEL=="usb?" or DRIVERS=="usb" not sure which is best, may need extra mode information too from usb device.
SUBSYSTEM=="net", DRIVERS=="usb", ATTRS{manufacturer}=="HTC", ATTRS{idProduct}=="0ffe", RUN+="/home/olli/chain_mock_htc_sync.sh $kernel"
Ubuntu is setup to create the file with the correct permissions already
ls -lrt /etc/udev/rules.d/htc-desire.rules
-rw-r--r-- 1 root root 248 Jun 26 22:09 htc-desire.rules
기본적으로 3'r이 보이지 않으면
sudo chmod a+r /etc/udev/rules.d/htc-desire.rules
udev에서 RUN하면 (마지막으로 실행 되더라도) 다른 모든 것을 차단하기 때문에 두 개의 추가 파일이 필요합니다. 어쨌든 :
지금은 "/ home / olli /"홈 디렉토리에 파일을 만들었으므로 파일을 만들 때마다 '/ home / olli /'비트를 바꾸십시오.
나를 위해, 내 홈 디렉토리에 cd.
cd ~
라는 파일을 만들
chain_mock_htc_sync.sh
다음을 포함합니다 :
#!/bin/bash
/home/olli/mock_htc_sync.sh "$1" &
exit
그것을 실행 가능하게 만드십시오
chmod +x chain_mock_htc_sync.sh
라는 다른 파일을 만듭니다
mock_htc_sync.sh
다음을 포함
#!/bin/bash
#change this line to be more specific if you have more than one usb network device
phone_usb_device="$1"
get_ip ()
{
arp -n | grep $phone_usb_device | awk '{print $1}'
}
#TODO: This needs a timeout and loop needs cleaning up, but works fine and borrowed from another post.
echo "waiting for IP on computer $phone_usb_device"
while [[ `get_ip` /dev/null
실행 가능하게 만드십시오.
chmod +x mock_htc_sync.sh
잘만되면 나는 pos로 곧 멋진 정리 된 버전을 가져야한다. (아마 내일).