วิธีการตั้งค่าการแชร์สัญญาณย้อนกลับผ่าน USB


125
  1. โทรศัพท์ HTC G2 ของฉันรูทและใช้งาน Cyanogenmod 7
  2. ฉันไม่มีแผนข้อมูล
  3. บางครั้งฉันต้องการเชื่อมต่อโทรศัพท์กับอินเทอร์เน็ตเมื่อไม่มี Wi-Fi เพื่ออัปเดตแอป Market, ข้อความ SMS สำรองไปยัง Gmail, ซิงค์รายชื่อใหม่จาก Gmail, ฯลฯ สิ่งที่ฉันไม่สามารถทำได้ด้วยโหมดที่เก็บข้อมูล USB
  4. ฉันมีคอมพิวเตอร์ Windows 7 Professional เชื่อมต่อกับอินเทอร์เน็ต แต่ฉันไม่ได้รับอนุญาตให้ติดตั้งเครือข่าย Wi-Fi แบบเฉพาะกิจ (ถ้าฉันทำพวกเขาจะสังเกตเห็นและตามล่าฉัน)

มีวิธีใดที่โทรศัพท์จะสามารถเข้าถึงอินเทอร์เน็ตผ่านการเชื่อมต่อ USB กับคอมพิวเตอร์ได้หรือไม่? ถ้าเป็นเช่นนั้นฉันจะตั้งค่าได้อย่างไร


ดูเหมือนว่าโซลูชันบางส่วน: forum.xda-developers.com/showthread.php?t=1371345
endolith

คำตอบ:


46

ฉันเพิ่งค้นพบSimpleRTซึ่งทำงานได้ดีกับ Linux (และเห็นได้ชัดว่า OSX เช่นกัน) เพียงเปิดใช้งานการแก้ไขข้อบกพร่อง USB บนอุปกรณ์ของคุณ (ไม่จำเป็นต้องใช้รูท) ติดตั้งAPK ที่เชื่อมโยงจากหน้านั้นบนอุปกรณ์ของคุณและเชื่อมต่อกับพีซีของคุณผ่าน USB แล้วเรียกใช้ไบนารีบนพีซีของคุณ

มันจะตั้งค่าการเชื่อมต่อเป็นช่องสัญญาณ VPN ( tun0โดยค่าเริ่มต้น) และอุปกรณ์ของคุณควรแจ้งให้คุณ (a) อนุญาตให้ SimpleRT สร้าง / ดูแลการเชื่อมต่อ VPN รวมถึง (b) ว่าจะเรียกใช้เมื่ออุปกรณ์ถูกกำหนดค่าเป็น อุปกรณ์เสริม USB โดยเฉพาะ (ซึ่งเป็นสิ่งที่ไบนารีทำ)

โครงการนี้ไม่รวมถึงไบนารีที่สร้างไว้ล่วงหน้าเพื่อให้ฉันได้อัปโหลดหนึ่งที่ผมสร้างขึ้นสำหรับอูบุนตู


ด้านล่างเป็นวิธีการด้วยตนเองที่ควรทำงานบน Linux หรือ Windows: http://blog.mathieu.carbou.me/post/60454997009/reverse-usb-tethering-with-android-2-2

ขั้นตอนที่ 1:

สำหรับ Windows: ติดตั้งไดรเวอร์ USB จาก Android SDK

สำหรับ Linux: ไม่มีอะไรให้ทำ

ขั้นตอนที่ 2:

ใน Nexus One: เชื่อมต่อสาย USB และเปิดใช้งานการปล่อยสัญญาณ USB คุณควรเห็นบน linux หรือ windows เป็นส่วนต่อประสานเครือข่ายใหม่

ขั้นตอนที่ 3:

บนคอมพิวเตอร์ Linux ให้ตั้งค่าบริดจ์:

# usb0 is the new network interface
# eth0 is the main interface connected to internet (or a gateway)

sudo ifconfig eth0 0.0.0.0  
sudo ifconfig usb0 0.0.0.0  
sudo brctl addbr br0  
sudo brctl addif br0 eth0  
sudo brctl addif br0 usb0  
sudo ifconfig br0 up  
sudo dhclient br0

ดูhttps://help.ubuntu.com/community/NetworkConnectionBridgeเพื่อตั้งค่าบริดจ์

บน windows, บริดจ์อินเทอร์เฟซเครือข่าย 2

ขั้นตอนที่ 4:

ตั้งค่าอินเตอร์เฟส usb0 ของโทรศัพท์ของคุณ คุณต้องเลือก:

  1. จากคอมพิวเตอร์ของคุณรัน:

    ./adb shell netcfg usb0 dhcp
  2. หรือในเทอร์มินัลรูทบนโทรศัพท์ของคุณให้พิมพ์:

    su
    netcfg usb0 dhcp

ตอนนี้คุณควรจะสามารถเชื่อมต่ออินเทอร์เน็ตบนโทรศัพท์ของคุณโดยใช้การเชื่อมต่ออินเทอร์เน็ตของคอมพิวเตอร์ของคุณ

ลอง ping www.google.com เพื่อให้แน่ใจ!

ขั้นตอนที่ 5:

หากต้องการปิดการแชร์อินเทอร์เน็ตแบบย้อนกลับให้ยกเลิกการเชื่อมต่อบริดจ์ก่อนบนคอมพิวเตอร์ของคุณ:

sudo ifconfig eth0 ลง  
sudo ifconfig usb0 ลง  
sudo ifconfig br0 down  
sudo brctl delbr br0  
sudo ifconfig eth0 ขึ้นมา  
sudo dhclient eth0

จากนั้นในโทรศัพท์ของคุณให้ยกเลิกการเลือกตัวเลือก USB Tethering!

คุณยังสามารถใช้ Windows เพื่อสร้างเครือข่าย WiFi (โดยใช้Connectify ) และเชื่อมต่ออุปกรณ์ของคุณกับ: http://www.nexusoneforum.net/forum/nexus-one-faq-how-tos/3133-reverse-tether-getting อินเตอร์เน็ตของคุณ phone.html


3
ในโทรศัพท์ของฉัน "netcfg usb0 dhcp" ควรเป็น "netcfg rdnis0 dhcp"
diyism

3
ใน cyanogenmod ของฉัน 13 ไม่พบ netcfg :(
maf-soft

1
netcfg ยังคงหายไปจาก LineageOS คุณอาจต้องการ busybox แทน android.stackexchange.com/questions/141900/…
Camille Goudeseune

ในการใช้งานsudo ifconfig usb0 0.0.0.0 ฉันได้รับ SIOCSIFADDR: ไม่มีอุปกรณ์ดังกล่าว usb0: ข้อผิดพลาดขณะรับแฟลกอินเตอร์เฟส: ไม่มีอุปกรณ์ดังกล่าว
user1917769

@ user1917769 คุณจะต้องคิดออกว่าอุปกรณ์ของคุณชื่ออะไรอินเตอร์เฟส USB ถ้ามันแตกต่างกัน
Matthew อ่าน

19

มีความเป็นไปได้อีกมาก - แต่ทั้งหมดที่ฉันรู้จำเป็นต้องใช้อุปกรณ์ที่รูท

การใช้แอพReverse Tether

อย่างแรกคือมีแอพชื่อว่าReverse Tetherให้ใช้งานฟรีบน Play Store (เป็นรุ่นทดลองใช้แบบ จำกัด ซึ่ง จำกัด เวลาที่คุณสามารถเชื่อมต่อได้ - แต่อย่างน้อยคุณสามารถทดสอบได้ว่าอุปกรณ์ของคุณรองรับอย่างสมบูรณ์หรือไม่ ประมาณ USD 5) ตามบทความที่ AndroidAuthorityการตั้งค่าควรง่ายเหมือน 1-2-3: เสียบสาย USB เริ่มแอพปล่อยให้ตั้งค่าอัตโนมัติ (กำหนดค่าด้วยตนเองก็มีเช่นกัน) - แล้วคุณก็ไป คุณยังสามารถให้มันขอให้คุณเชื่อมต่อเมื่อพบการเชื่อมต่อ USB

วิธีการด้วยตนเองโดยใช้ Wifi

ฉันรู้ว่านี่ไม่ใช่ USB - แต่สำหรับความสมบูรณ์ (และให้ทางเลือก) ฉันคิดว่าฉันอาจเพิ่มสิ่งเหล่านี้ด้วย:

เล่นซอกับระบบและทำการปะแก้

มีวิธีการแบบแมนนวลหลายวิธีเช่นกัน (และอธิบายเช่นที่XDA ) - แต่ส่วนใหญ่จะซับซ้อนทางเทคนิคและคาดว่าคุณจะแก้ไขไฟล์ระบบ ไม่ใช่สำหรับผู้ใช้ทุกวัน แต่สำหรับผู้ที่คลั่งไคล้เทคโนโลยี

Terminal และไป

อย่างไรก็ตามวิธีการที่ดีอีกวิธีหนึ่งควรเกี่ยวข้องกับ 3 บรรทัดในเทอร์มินัลและอธิบายไว้ในโพสต์ที่นี่เพื่อเชื่อมต่อกับเครือข่ายไร้สายเฉพาะกิจ โดยพื้นฐานแล้วควรเป็นดังนี้:

su
ifconfig wlan0 up
iwconfig mode auto;
iwconfig wlan0 essid "your SSID" channel 11 mode auto
ifconfig wlan0 10.0.0.x netmask 255.255.255.0

จัดการไฟล์กำหนดค่าบางอย่าง

อีกวิธีที่ค่อนข้างง่ายอธิบายไว้ที่นี่และเกี่ยวข้องกับการแก้ไขwpa_supplicant.confไฟล์หนึ่งครั้ง (เพิ่มเครือข่ายไร้สายโฆษณาของคุณด้วยตนเอง)

วิธีการง่าย ๆ Peasy

ฉันจำเป็นต้องพูดจริงเหรอ? ใช้เราเตอร์ไร้สาย มี "Travel routers" เล็ก ๆ อยู่รอบตัวราคาไม่ถึง USD 50 จากนั้นเชื่อมต่อโทรศัพท์ของคุณเหมือนกับที่คุณใช้เชื่อมต่อกับเครือข่าย Wifi อื่น ๆ ...


7

เฮ้! มีแอพสำหรับสิ่งนั้น

การส่งต่อพอร์ต USB ของ Android
http://www.codeproject.com/kb/android/usbportforwarding.aspx

ฉันสับสนเล็กน้อยเกี่ยวกับวิธีการใช้งานโปรดแจ้งให้คุณทราบหากคุณใช้งานได้อย่างสมบูรณ์แบบ


1
เห็นได้ชัดว่าต้องใช้พร็อกซีอื่นนอกเหนือจากคอมพิวเตอร์และรองรับเฉพาะการท่องเว็บเท่านั้น
endolith

1
มันบอกว่าใช้พอร์ต 8080 ซึ่งไม่จำเป็นต้อง จำกัด เฉพาะการท่องเว็บใช่ไหม ฉันคิดว่า Market สามารถใช้สิ่งนี้ได้อย่างไรก็ตาม Market ใช้โพสต์ 5228
Steve

2

ฉันพบเครื่องมือที่ดีสำหรับการปล่อยสัญญาณถอยหลังในฟอรัม xda-Developers มันเรียกว่าAndroid ย้อนกลับ Tethering ใช้งานได้กับ Windows และต้องใช้โทรศัพท์ที่รูทเครื่อง
ใช้งานได้ดีกับ HTC Desire HD ที่ใช้ MIUI v4


ฉันใช้ซอฟต์แวร์นี้มันทำงานได้อย่างสมบูรณ์แบบบน mt galaxy s duosgts7562 ฉันสามารถใช้ทุกสิ่งที่เกี่ยวข้องกับอินเทอร์เน็ตด้วยการแชร์อินเทอร์เน็ตย้อนกลับ
Jasser

ในการใช้ youtube และแอพอื่น ๆ คุณต้องคลิกที่ปุ่มแฮ็คติดตั้งจากนั้นคุณก็พร้อมแล้ว
Jasser

2

ขั้นตอนการแชร์สัญญาณย้อนกลับของ Android:

หมายเหตุ: ทำงานได้เฉพาะในโทรศัพท์ Android ที่รูทเครื่อง

  1. เชื่อมต่ออุปกรณ์ Android ผ่าน USB
  2. เปิดใช้งานการปล่อยสัญญาณอินเทอร์เน็ต ต้องการทำเช่นนั้นให้ไปที่การตั้งค่า→อื่น ๆ ... → Tethering และฮอตสปอตมือถือ→ปล่อยสัญญาณผ่าน

  3. ที่เครื่องโฮสต์การเชื่อมต่อการปล่อยสัญญาณ USB อาจถูกตรวจพบโดยผู้จัดการเครือข่าย
    ชื่อของมันจะคล้ายกับ "การเชื่อมต่อแบบมีสาย 2" (หรือ 3)
    คุณต้องแก้ไขเป็น "IPV4 / วิธี" เป็น "แบ่งปันกับคอมพิวเตอร์เครื่องอื่น"

3.1 หากไม่มีผู้จัดการเครือข่ายคุณจะต้องทำด้วยตนเอง:

    $ sudo ifconfig usb0 10.42.0.1 netmask 255.255.255.0 
    $ echo 1 | sudo tee /proc/sys/net/ipv4/ip_forward

ตอนนี้ตามที่อธิบายไว้ที่นี่ในตอนท้ายของขั้นที่ 1คุณมีการปรับเปลี่ยนด้วยiptables sudo iptables -t nat -A POSTROUTING -j MASQUERADEแต่ ... ต้องการให้ผู้จัดการเครือข่ายทำได้ถ้าเป็นไปได้

  1. ที่อุปกรณ์ Android คุณสามารถใช้คำสั่งเหล่านี้โดยใช้เทอร์มินัลsuหรือจากเครื่องโฮสต์ของคุณโดยใช้ ADB:

    $ adb shell su -c "netcfg rndis0 dhcp"
    

    หากไม่ได้รับที่อยู่ IP หรือหากคุณใช้แอปพลิเคชันบางตัวที่ต้องการที่อยู่ IP แบบคงที่เช่นแอป "Webkey สำหรับ Android" ให้กำหนดด้วยตนเอง:

    $ adb shell su -c "ifconfig rndis0 10.42.0.2 netmask 255.255.255.0"
    $ adb shell su -c "route add default gw 10.42.0.1 dev rndis0"
    

ตอนนี้อินเทอร์เน็ตจะทำงานบนโทรศัพท์ Android

หากต้องการตรวจสอบที่หรือหุ่นยนต์ขั้วลองคำสั่งadb shellping www.google.com

มันใช้งานได้สำหรับฉัน


1
netcfg ของอุปกรณ์ของฉันดูเหมือนจะ จำกัด มากขึ้นและรุ่นขั้นตอนที่ 4 ด้วยตนเองจะล้มเหลว: no such action '10.42.0.2' usage: netcfg [<interface> {dhcp|up|down}]
Matthew อ่าน

1
@ Matewew อ่านคำสั่งผิดมันเป็นจริงแล้วifconfig rndis0 10.42.0.2 netmask 255.255.255.0btw เพื่อดูอินเตอร์เฟสทั้งหมดอยู่netcfgคนเดียว คำแนะนำที่คล้ายกันมีรายละเอียดที่นี่
กุมภ์พลัง

2

สำหรับunrootedอุปกรณ์

ฉันรู้ว่านี่เป็นคำตอบที่ล่าช้า แต่เนื่องจากคำตอบที่มีอยู่ทั้งหมดแนะนำว่าการปล่อยสัญญาณอินเทอร์เน็ตแบบย้อนกลับเป็นไปได้เฉพาะในกรณีที่อุปกรณ์ของคุณได้รับการรูตหรือมีระบบรองรับการปล่อยสัญญาณแบบย้อนกลับ แต่ฉันก็ควร

ฉันกำลังมองหาวิธีแก้ปัญหาการแชร์อินเทอร์เน็ตแบบย้อนกลับที่จะทำงานกับอุปกรณ์ที่ไม่ได้ใช้งานและกับ MacBook แต่ฉันหาอะไรไม่เจอ ในที่สุดฉันเริ่มพัฒนาโซลูชันของตัวเอง ผลลัพธ์คือแอปที่ทำงานบนอุปกรณ์ที่ใช้ Android 4.0 หรือสูงกว่าในฝั่งไคลเอ็นต์และระบบปฏิบัติการเดสก์ท็อปหลักทั้งหมดในฝั่งโฮสต์

แอป ReverseTethering NoRoot

แอพพร้อมใช้งานบน Google Play: ReverseTethering NoRoot


1
ฉันไม่สามารถเชื่อมต่อกับ Windows หรือ Ubuntu ได้ แต่ดูเหมือนว่าจะทำงานบน OSX
Matthew อ่าน

@MatthewRead ส่งอีเมลถึงฉันและฉันจะทำให้ดีที่สุดเพื่อช่วยในการทำงานบน Windows และ Ubuntu
FD_

2

ฉันรู้ว่านี่เป็นคำตอบในภายหลัง แต่มันก็คุ้มค่าที่จะกล่าวถึง

ไม่จำเป็นต้องทำการรูท!

ไม่จำเป็นต้องติดตั้งแอพ! *ซึ่งไม่สามารถทำได้หากคุณไม่มีการเชื่อมต่ออินเทอร์เน็ตอื่น ๆ

มีโครงการที่เรียกว่าเป็นgnirehtet

  1. ติดตั้งadbลงในโฮสต์พีซี (Windows / Linux / Mac)
  2. ดาวน์โหลดไฟล์ซิป gnirehtet ไปยังโฮสต์
  3. เปิดเครื่องรูดมัน
  4. เรียกใช้คำสั่ง

แค่นั้นแหละ! สำหรับข้อมูลเพิ่มเติมอ่านไฟล์ readme ของ gnirehtet บนเว็บไซต์ของพวกเขา

* = เบื้องหลังมันจะทำการติดตั้งไฟล์ apk ลงในอุปกรณ์ของคุณผ่านการเชื่อมต่อ USB


เฉพาะคำตอบที่ไม่ใช่เชิงพาณิชย์ข้ามแพลตฟอร์มทำงานเต็มรูปแบบได้ที่นี่ แม้แต่ Google Play ก็เชื่อมต่อ (Android 9 Pie)
cdlvcdlv
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.