ঠিক আছে, আমি এখন আমার নিজের প্রশ্নের উত্তর দিতে পারি।
আমাকে শুরু করতে টাইসনের মন্তব্য থেকে ইঙ্গিতগুলি ব্যবহার করেছি, তবে আমাকে আরও কিছু করতে হয়েছিল। বিশেষত আমি যে কর্পোরেট নেটওয়ার্কের সাথে সংযোগ করছি তা উল্লেখ করতে ব্যর্থ হয়েছি ছিল ডাব্লুপিএ 2-এন্টারপ্রাইজ পিইপি এমএসসিএইচপিভি 2 সত্যায়িত (এডুরোয়াম)।
আমি বেশ সস্তা সস্তা হার্ডওয়্যার পেয়েছি: একটি টিপি-লিংক টিএল-ডাব্লুএইচ 801 এন্ড অ্যাক্সেস পয়েন্ট (ওয়্যারলেস এন 300 এমবি সিঙ্গল-ব্যান্ড 2.4 গিগাহার্টজ); এবং একটি ASUS AC750 রাউটার (ওয়্যারলেস এসি ডুয়াল-ব্যান্ড)।
এই হার্ডওয়ারগুলির কোনওটিই ক্লায়েন্ট মোডে পিইএপি প্রমাণীকরণের সাথে কোনও হোস্ট নেটওয়ার্কের সাথে সংযোগ করতে পারে না।
আমি একটি ওপেন-সোর্স ফার্মওয়্যার রিপ্লেসমেন্ট, ওপেনওআর্ট , কিছু উইকি নিবন্ধ এবং ইউটিউব ভিডিও সহ পিইএপি দিয়ে ক্লায়েন্ট মোড তৈরির প্রতিশ্রুতি দিয়ে সন্ধান করেছি।
WA801ND অ্যাক্সেস পয়েন্টে উপলভ্য স্টোরেজ স্পেসের সমস্যা নিয়ে আমি অনেকগুলি পড়েছি । তবে, আমি ভাগ্যবান ছিলাম। আমাকে একটি WA801ND ভি 5 পাঠানো হয়েছিল, এতে আগের সংস্করণগুলির দ্বিগুণ স্টোরেজ (8 এমবি) রয়েছে।
যাইহোক, উইকি # 1 তে ভি 5 এ ইনস্টল করা এবং উইকি # 2 তে ভীতিপূর্ণ বিল্ড নির্দেশাবলী (ওপেনবার্টের সাইটে দুটি উইকি কেন আছে?) সম্পর্কে কিছুই ছিল না ।
যদিও আমি দ্বিগুণ ভাগ্যবান, কারণ আমি উইকিরা যা বলে তা সত্ত্বেও, এবং কীভাবে ফ্ল্যাশ করতে হয় তার নির্দেশাবলী সহ আমি ভিট 5-র জন্য সমর্থন একটি গিট কমিট পেয়েছি ।
গিট কমিটের নির্দেশাবলীর সাথে কিছু ডকুমেন্টেশনের মাধ্যমে পড়া শেষ পর্যন্ত ডাব্লুএ 801 এন্ড অ্যাক্সেস পয়েন্টে ওপেন রাইটিং ইনস্টল করা হয়েছে।
এটি ডিভাইসে খালি-হাড়ের টার্মিনাল-কেবল ফার্মওয়্যার পায়, যা ক্লায়েন্ট মোডে পিইএপি প্রমাণীকরণ সমর্থন করে না।
সুতরাং প্রথম পদক্ষেপটি পিইএপি সমর্থন সক্ষম করা।
ওপেনআরটিটি এটির নিজস্ব প্যাকেজ ম্যানেজারের সাথে আসে, তবে ডাব্লুএ 801 এনডি-তে কোনও ইন্টারনেট অ্যাক্সেস ছিল না, তাই আমাকে নিজে প্যাকেজগুলি নিতে হয়েছিল। দুর্ভাগ্যক্রমে বেশিরভাগ অনলাইন ডকুমেন্টেশন লেখা হওয়ার পরে প্যাকেজ সংগ্রহস্থলের কাঠামো বদলেছে, সুতরাং প্যাকেজগুলি খুঁজে পাওয়া খুব কঠিন ছিল।
অবশেষে আমি দেখতে পেলাম যে দুটি সাব-রিপোজিটরি রয়েছে, একটি "টার্গেট" (ডিভাইস) এর জন্য এবং একটি খিলানের জন্য (সিপিইউ)।
সুতরাং, একবার আমি ডিভাইসে wpad_2018-05-21-62566bc2-4_mipsel_24kc.ipk
প্যাকেজটি ডাউনলোড করে স্কিপিড করে ফেললাম /tmp
, opkg remove wpad-mini
তখন আমি wpa_supplicant পিইএপি opkg install /tmp/wpad_2018-05-21-62566bc2-4_mipsel_24kc.ipk
সমর্থন সক্ষম করেছিলাম ।
আমি কনফিগার ফাইলগুলির মাধ্যমে WA801ND কনফিগার করতে গিয়েছিলাম তবে এটি নিজেই একটি সম্পূর্ণ বড় প্রকল্প। আমি সত্যিই একটি ওয়েব জিইউআই ইন্টারফেস চেয়েছিলাম। ওপেনআর্ট-এর মান হ'ল লুসি , যার একগুচ্ছ নির্ভরতা রয়েছে যা ডিভাইসে ডাউনলোড এবং স্ক্যাপ করা দরকার।
ভাগ্যক্রমে, আমি স্বয়ংক্রিয়ভাবে এটির জন্য উইকি পৃষ্ঠাটি একটি স্ক্রিপ্ট সহ (নীচের নিকটে) পেয়েছি । দুর্ভাগ্যক্রমে, স্ক্রিপ্টটি পুরানো ছিল, একটি নির্ভরতা বা দুজন অনুপস্থিত ছিল এবং এতে ভুল প্যাকেজ URL ছিল। আমি এটি ঠিক করেছি এবং ভয়েলা, লুসি ইনস্টল!
সেখান থেকে WA801ND অ্যাক্সেস পয়েন্টে লুসি ওয়েব ইন্টারফেসের মাধ্যমে পিইএপি নেটওয়ার্কে একটি ক্লায়েন্ট মোড সংযোগ স্থাপন করা সহজ ছিল এবং তারপরে AC750 রাউটারের ডাব্লুএএন বন্দরে অ্যাক্সেস পয়েন্ট ইথারনেট প্লাগ করে। আমাকে রাউটারের সাবনেটটি 192.168.1.x থেকে 192.168.2.x এ পরিবর্তন করতে হয়েছিল যাতে এটি অ্যাক্সেস পয়েন্টের সাথে বিরোধ না করে। তারপরে সবকিছু "সবেমাত্র কাজ করেছে" (শেষ পর্যন্ত!)।
নির্দিষ্ট-আপ স্ক্রিপ্ট নীচে সংযোজন করা হয়েছে, রেফারেন্সের জন্য:
#!/bin/sh
#assumes the user has egrep, wget, ssh, and scp
# Change this to match your router
architecture="mipsel_24kc"
target="ramips/mt76x8"
# These should be fine unless you've changed something
user="root"
ip_address="192.168.1.1"
url="https://downloads.openwrt.org/snapshots/packages/${architecture}/"
target_url="http://downloads.openwrt.org/snapshots/targets/${target}/packages/"
tmpdir="/tmp/luci-offline"
packages_base="liblua lua libuci-lua libubus libubus-lua uhttpd rpcd"
packages_luci="luci-base luci-lib-ip luci-lib-nixio luci-theme-bootstrap luci-mod-admin-full luci-lib-jsonc liblucihttp liblucihttp-lua"
packages_target="libiwinfo-lua"
mkdir "$tmpdir"
cd "$tmpdir"
echo "Downloading base packages"
wget --quiet -N "${url}base/Packages" || echo "Failed to get base Packages"
for pkg in $packages_base; do
pkgfile="$(egrep -oe " ${pkg}_.+" Packages | tail -c +2)"
pkgurl="${url}base/${pkgfile}"
wget --quiet -N "$pkgurl" || echo "Failed to fetch $pkg"
done
echo "Downloading Luci packages"
wget --quiet -N "${url}luci/Packages" || echo "Failed to get luci Packages"
for pkg in $packages_luci; do
pkgfile="$(egrep -oe " ${pkg}_.+" Packages | tail -c +2)"
pkgurl="${url}luci/${pkgfile}"
wget --quiet -N "$pkgurl" || echo "Failed to fetch $pkg"
done
echo "Downloading target-specific packages"
wget --quiet -N "${target_url}/Packages" || echo "Failed to get target Packages"
for pkg in $packages_target; do
pkgfile="$(egrep -oe " ${pkg}_.+" Packages | tail -c +2)"
pkgurl="${target_url}/${pkgfile}"
echo "Downloading $pkgurl"
wget --quiet -N "$pkgurl" || echo "Failed to fetch $pkg"
done
echo "Copying packages to device"
ssh "${user}@${ip_address}" mkdir -p /tmp/luci-offline-packages
scp *.ipk "${user}@${ip_address}":/tmp/luci-offline-packages
echo "Installing pacakges"
ssh "${user}@${ip_address}" opkg install /tmp/luci-offline-packages/*.ipk
echo "Deleting packages from device"
ssh "${user}@${ip_address}" rm -rf /tmp/luci-offline-packages/
echo "Starting HTTP server and enabling on boot"
ssh "${user}@${ip_address}" /etc/init.d/uhttpd start
ssh "${user}@${ip_address}" /etc/init.d/uhttpd enable
echo "Deleting packages from PC"
cd
rm -rf "$tmpdir"