ঠিক আছে, এখানে আমি ঠিক ঠিক কী করেছি, এইচটিসি-র কোনও প্রয়োজন নেই:
সেটআপ বাইন্ড 9 এবং NAT ইত্যাদি ...
দ্রষ্টব্য: 1: আপনি যদি কেবলমাত্র sudo প্রতিধ্বনি 1> / proc / sys / নেট / ipv4 / ip_forward করতে চান তবে আপনি অনুমতি ত্রুটি পাবেন, সুতরাং প্রক্রিয়া 2 এর জন্য এখানে একটি স্ক্রিপ্ট রয়েছে: আপনি আইপটবেলগুলি কীভাবে এটি করে তা আরও নির্দিষ্ট করে তুলতে পারেন নির্দিষ্ট ডিভাইসগুলির জন্য পরামিতি যুক্ত করা।
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
আমি দেখতে পেলাম যে আমার ডিভাইসটি আনপ্লাগ করতে হবে তারপরে এটি আরপটিতে উপস্থিত হওয়ার জন্য আবার এটি প্লাগ ইন করতে হবে, আরপ ডিভাইসটি না দেখালে জিনিসগুলি সঠিকভাবে কাজ করে না।
ডিভাইসটি এইচটিসি সিঙ্কটি এটি বার্তা প্রেরণের জন্য অপেক্ষা করবে যাতে আপনাকে এইচটিসি সিঙ্কস বার্তাটিকে উপহাস করতে হবে:
#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
আমি ডি-বাস ব্যবহার করে এর একটি সংস্করণ লিখতে পারি যাতে ডিভাইস ইত্যাদি প্লাগ ইন করা অবস্থায় পরবর্তী অংশটি স্বয়ংক্রিয়ভাবে কার্যকর হয় ....
ঠিক আছে এখানে আমার কাজ চলছে, আমি ডি-বাসে 'জেনেরিক' কিছু খুঁজে পাইনি তাই আমি ইউদেব ব্যবহার করে কিছুটা হ্যাক সলিউশন বেছে নিয়েছি .. এটি নিখুঁত নয়, উদাহরণস্বরূপ কমান্ডটি দু'বার চালিত হয়, তাই আমি 'দেখতে পেলাম যে আমি মিলে যাওয়া পরামিতিগুলি আরও কিছুটা ভাল ফিল্টার করতে পারি, শেষ স্ক্রিপ্টে একটি টাইমআউটও যুক্ত করতে পারি, কেবল উত্তেজিত করে দেখুন এবং আমি আরও ভাল কিছু দিয়ে আরপ প্রতিস্থাপন করতে পারি কিনা, দেখুন / প্রোকে অনুসন্ধান করুন
আমি তৈরি করেছি /etc/udev/rules.d থেকে আমার .rules ফাইলটি এখানে রয়েছে
cat /etc/udev/rules.d/htc-desire.rules
আপনি এটিকে নিজের পছন্দের যেকোন কিছু বলতে পারেন তবে এটি একটি সংখ্যার সাথে শুরু করবেন না, এইভাবে এটি শেষের দিকে চলে run
আপনার পছন্দসই ইত্যাদি সম্পাদক ব্যবহার করে সূডো হিসাবে ফাইলটিতে নিম্নলিখিতটি যুক্ত করুন ....
#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 টি দেখতে না পান,
sudo chmod a+r /etc/udev/rules.d/htc-desire.rules
তারপরে আপনার আরও দুটি ফাইলের প্রয়োজন হবে, একটিতে অন্যটিকে শৃঙ্খলাবদ্ধ করার জন্য, যেহেতু উদেব থেকে আসা আরএন সব কিছু ব্লক করে দেবে (যদিও এটি শেষের দিকে চালিত হয় !!) ... হুম ... যাইহোক:
আমি এখনই আমার হোম ডিরেক্টরিতে ফাইলগুলি "/ home / olli /" এর জন্য তৈরি করেছি ... সুতরাং আপনি যে ফাইলগুলি তৈরি করবেন তার সাথে '/ home / olli /' বিটটি প্রতিস্থাপন করতে ভুলবেন না:
আমার জন্য তাই, আমার হোম ডিরেক্টরিতে সিডি করুন।
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
নিম্নলিখিত containg
#!/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
আশা করি পোস্টের সাথে সাথেই আমার একটি সুন্দর পরিচ্ছন্ন সংস্করণ পাওয়া উচিত। (সম্ভবত আগামীকাল)