انجمن‌های فارسی اوبونتو

لطفاً به انجمن‌ها وارد شده و یا جهت ورود ثبت‌نام نمائید

لطفاً جهت ورود نام کاربری و رمز عبورتان را وارد نمائید


توزیع گنو/لینوکس اوبونتو ۲۰ ساله شد 🎉

نویسنده موضوع: مشکل اتصال مودم adsl با کابل usb در حالت suspend در دبیان ۱۱ (حل شد)  (دفعات بازدید: 2098 بار)

0 کاربر و 1 مهمان درحال مشاهده موضوع.

آفلاین ashkan.2019

  • Jr. Member
  • *
  • ارسال: 81
مشکل از اونجایی شروع شد که مودم adsl رو با کابل usb به سیستم وصل کردم (دبیان ۱۱) که در کمال تعجب بدون هیچ مقدمه ای و نصب هیچ بسته ای مودم رو شناسایی کرد ولی وقتی سیستم رو suspend می کنم و دوباره wakeup میشه نتورک منیجر به شکل زیر درمیاد و اینترنت قطع میشه :(که با قطع و وصل کابل usb درست میشه)


برای حل این مشکل با کمی سعی و خطا پورت usb مربوط به مودم رو پیدا کردم و یه اسکریپت دوخطی با سرچ پیدا کردم که بصورت زیر هست :
#!/bin/bash
sudo sh -c "echo 0 > /sys/bus/usb/devices/usb1/authorized"
sleep 1
sudo sh -c "echo 1 > /sys/bus/usb/devices/usb1/authorized"

این اسکریپت رو توی مسیر /lib/systemd/system-sleep/ قرار دادم و همه چی عالی بود مشکل حل شد اما مثل اینکه با اتصال یه فلش یا همچین چیزی (با اینکه پورت usb مودم ثابت هست ) جای اسم پورتها در لینوکس عوض میشه و دیگه این اسکریپت کار نمی کنه . لطفا اگه راه حلی می دونین بنده رو بی نصیب نزارید :)
« آخرین ویرایش: 21 شهریور 1401، 04:30 ق‌ظ توسط ashkan.2019 »

آفلاین جعفر فرقانلوژ

  • High Hero Member
  • *
  • ارسال: 5100
  • جنسیت : پسر
  • اممم . اره دیگه! mehr32
البته من هم با کابل لرن همچین مشکلی دارم متاسفانه روی خیلی از توزیع ها
کارت گرافیکتون چیه ؟
دیگر به انجمن باز نخواهم گشت شاید جایی با این نام پیدام کنید اگه کاری با من دارید : qxc9966@protonmail.com

آفلاین محمدرضا حقیری

  • High Sr. Member
  • *
  • ارسال: 528
    • ذهن زیبا
مشکل از اونجایی شروع شد که مودم adsl رو با کابل usb به سیستم وصل کردم (دبیان ۱۱) که در کمال تعجب بدون هیچ مقدمه ای و نصب هیچ بسته ای مودم رو شناسایی کرد ولی وقتی سیستم رو suspend می کنم و دوباره wakeup میشه نتورک منیجر به شکل زیر درمیاد و اینترنت قطع میشه :


برای حل این مشکل با کمی سعی و خطا پورت usb مربوط به مودم رو پیدا کردم و یه اسکریپت دوخطی با سرچ پیدا کردم که بصورت زیر هست :
#!/bin/bash
sudo sh -c "echo 0 > /sys/bus/usb/devices/usb1/authorized"
sleep 1
sudo sh -c "echo 1 > /sys/bus/usb/devices/usb1/authorized"

این اسکریپت رو توی مسیر /lib/systemd/system-sleep/ قرار دادم و همه چی عالی بود مشکل حل شد اما مثل اینکه با اتصال یه فلش یا همچین چیزی (با اینکه پورت usb مودم ثابت هست ) جای اسم پورتها در لینوکس عوض میشه و دیگه این اسکریپت کار نمی کنه . لطفا اگه راه حلی می دونین بنده رو بی نصیب نزارید :)

اگر برند و مدل کارت شبکه‌تون رو بگید، شاید بشه بهتر راهنمایی کرد.

اگر تبلیغی برای اینتل و AMD و حومه برداشت نشه، معمولا این مواقع مخازن non-free رو باید اضافه کنید و intel-microcode و amd-microcode (بسته به سخت‌افزار مورد استفاده) رو نصب کنید.

آفلاین ashkan.2019

  • Jr. Member
  • *
  • ارسال: 81
مشکل از اونجایی شروع شد که مودم adsl رو با کابل usb به سیستم وصل کردم (دبیان ۱۱) که در کمال تعجب بدون هیچ مقدمه ای و نصب هیچ بسته ای مودم رو شناسایی کرد ولی وقتی سیستم رو suspend می کنم و دوباره wakeup میشه نتورک منیجر به شکل زیر درمیاد و اینترنت قطع میشه :


برای حل این مشکل با کمی سعی و خطا پورت usb مربوط به مودم رو پیدا کردم و یه اسکریپت دوخطی با سرچ پیدا کردم که بصورت زیر هست :
#!/bin/bash
sudo sh -c "echo 0 > /sys/bus/usb/devices/usb1/authorized"
sleep 1
sudo sh -c "echo 1 > /sys/bus/usb/devices/usb1/authorized"

این اسکریپت رو توی مسیر /lib/systemd/system-sleep/ قرار دادم و همه چی عالی بود مشکل حل شد اما مثل اینکه با اتصال یه فلش یا همچین چیزی (با اینکه پورت usb مودم ثابت هست ) جای اسم پورتها در لینوکس عوض میشه و دیگه این اسکریپت کار نمی کنه . لطفا اگه راه حلی می دونین بنده رو بی نصیب نزارید :)

اگر برند و مدل کارت شبکه‌تون رو بگید، شاید بشه بهتر راهنمایی کرد.

اگر تبلیغی برای اینتل و AMD و حومه برداشت نشه، معمولا این مواقع مخازن non-free رو باید اضافه کنید و intel-microcode و amd-microcode (بسته به سخت‌افزار مورد استفاده) رو نصب کنید.
ممنون
ببخشید که یکم دیر شد :
Trendchip Technologies Corp.

آفلاین ashkan.2019

  • Jr. Member
  • *
  • ارسال: 81
راستش vrms رو نصب کردم و با جمله :
No non-free or contrib packages installed on ashkan!  rms would be proud.
مواجه شدم همون بهتره که خرابش نکنم اینجوری بیشتر حال میده :) ریچارد استالمن افتخار بکنه :)
« آخرین ویرایش: 12 شهریور 1401، 05:53 ب‌ظ توسط ashkan.2019 »

آفلاین behzad1

  • High Sr. Member
  • *
  • ارسال: 514
  • جنسیت : پسر
راستش vrms رو نصب کردم و با جمله :
No non-free or contrib packages installed on ashkan!  rms would be proud.
مواجه شدم همون بهتره که خرابش نکنم اینجوری بیشتر حال میده :) ریچارد استالمن افتخار بکنه :)
جالبه چرا واسه من افتخار نمیکنه؟ ;D
نقل‌قول
   No non-free or contrib packages installed on debian!  You have completed the first step to enlightenment

آفلاین ashkan.2019

  • Jr. Member
  • *
  • ارسال: 81
راستش vrms رو نصب کردم و با جمله :
No non-free or contrib packages installed on ashkan!  rms would be proud.
مواجه شدم همون بهتره که خرابش نکنم اینجوری بیشتر حال میده :) ریچارد استالمن افتخار بکنه :)
جالبه چرا واسه من افتخار نمیکنه؟ ;D
نقل‌قول
   No non-free or contrib packages installed on debian!  You have completed the first step to enlightenment
نمی دونم حتما یه کاری کردی که ریچارد ناراحت شده ! :)

آفلاین esmaeelE

  • ناظر انجمن
  • *
  • ارسال: 1270
  • جنسیت : پسر
جالبه بررسی کنید که چه نسخه‌ای از vrms روی سیستم نصب شده است.
من روی دبیان ۱۱ کد‌های بسته را دریافت کردم و نتونستم اون رشته را در کد‌ها پیدا کنم.

$ apt show vrms

آفلاین behzad1

  • High Sr. Member
  • *
  • ارسال: 514
  • جنسیت : پسر
جالبه بررسی کنید که چه نسخه‌ای از vrms روی سیستم نصب شده است.
من روی دبیان ۱۱ کد‌های بسته را دریافت کردم و نتونستم اون رشته را در کد‌ها پیدا کنم.
روی دبیان ناپایدار هستم و منطقاً نسخۀ آخر رو دارم. نگاهی به کدها و کامیت ها انداختم. نام ریچارد استالمن رو حذف کرده‌ان و خودشون انگار گفتن که به رهبر نیازی ندارن و نمیخوان از شخصی نام برده بشه(؟)، همچنین نام vrms رو به check-dsfg-status تغییر داده‌ان. تقریباً چهارهفته پیش این اتفاق افتاده.

آفلاین esmaeelE

  • ناظر انجمن
  • *
  • ارسال: 1270
  • جنسیت : پسر
ممنون جالب‌تر شد. باید سر فرصت بررسی کنم.

در صفحهٔ‌ راهنمای بسته روی دبیان پایدار کنونی ۱۱ اینطور نوشته شده.

نقل‌قول
HISTORY
       This program was written by Bdale Garbee and Bill Geddes for the Debian GNU/Linux system, in response to an open discussion with  Richard  Stallman
       about the issues surrounding the availability/desirability of the 'non-free' package tree in Debian.


آفلاین behzad1

  • High Sr. Member
  • *
  • ارسال: 514
  • جنسیت : پسر
ممنون جالب‌تر شد. باید سر فرصت بررسی کنم.
رفتم بیشتر بررسی کردم. یه بابایی بهشون گفته که این vrms ربطی به ریچارد استالمن و یه شخص خاص نداره بلکه ربط به رهنمودهای دبیان(DFSG) داره که اتفاقا حرفشون بسیار منطقی بوده.

آفلاین Dragon-

  • عضو کاربران ایرانی اوبونتو
  • *
  • ارسال: 5124
  • جنسیت : پسر
...
اما مثل اینکه با اتصال یه فلش یا همچین چیزی (با اینکه پورت usb مودم ثابت هست ) جای اسم پورتها در لینوکس عوض میشه و دیگه این اسکریپت کار نمی کنه . لطفا اگه راه حلی می دونین بنده رو بی نصیب نزارید :)
فکر کنم پورت‌های usb یا کنترلر‌های اونها یه id داشته باشند که ثابت هست. احتمالا اگه از اون id استفاده کنید، مشکل حل میشه. خروجی lsusb رو ببینید.
میدونید که زکات علم نشر آن است

آفلاین ashkan.2019

  • Jr. Member
  • *
  • ارسال: 81
...
اما مثل اینکه با اتصال یه فلش یا همچین چیزی (با اینکه پورت usb مودم ثابت هست ) جای اسم پورتها در لینوکس عوض میشه و دیگه این اسکریپت کار نمی کنه . لطفا اگه راه حلی می دونین بنده رو بی نصیب نزارید :)
فکر کنم پورت‌های usb یا کنترلر‌های اونها یه id داشته باشند که ثابت هست. احتمالا اگه از اون id استفاده کنید، مشکل حل میشه. خروجی lsusb رو ببینید.
ممنون بله درست می فرمایید آیدی پورت ثابت هست
تو این دستور چطور از id استفاده کنم
sudo sh -c "echo 0 > /sys/bus/usb/devices/usb1/authorized"اگه راه دیگه ای هم داره لطفا بفرمایید

آفلاین Dragon-

  • عضو کاربران ایرانی اوبونتو
  • *
  • ارسال: 5124
  • جنسیت : پسر
این اسکریپت رو امتحان کنید
#!/bin/sh

set -e

readonly SYS_USB_DEVICES_DIR='/sys/bus/usb/devices'
readonly ID_VENDOR=''
readonly ID_PRODUCT=''
readonly WAITE=2
unset TARGET

[ ! -d "${SYS_USB_DEVICES_DIR}" ] && echo "${SYS_USB_DEVICES_DIR} directory does not exist" && exit 1

for usb_dev in "${SYS_USB_DEVICES_DIR}"/*; do

        [ ! -L "${usb_dev}" ] && continue

        if [ -r "${usb_dev}/idVendor" ] && [ -r "${usb_dev}/idProduct" ]; then

                  if [ "$(cat "${usb_dev}/idVendor")" = "${ID_VENDOR}" ] && [ "$(cat "${usb_dev}/idProduct")" = "${ID_PRODUCT}" ]; then
                        readonly TARGET="${usb_dev}"
                        break
                fi
        fi
done
unset usb_dev

[ -z "${TARGET}" ] && exit 0

echo '0' > "${TARGET}/authorized"
sleep "${WAITE}"
echo '1' > "${TARGET}/authorized"

مقادیر  متغیر‌های ID_VENDOR و ID_PRODUCT رو بر اساس id مربوط که از lsusb می‌گیرید، تغییر بدید.
برای مثال اگه idProduct برابر 008b و idVendor برابر a7fc باشه، خط‌های ۶ و ۷ به این شکل در میان:
readonly ID_VENDOR='008b'
readonly ID_PRODUCT='a7fc'
بزرگ و کوچک بودن حروف مهم هست.
مقدار متغیر WAITE رو هم می‌تونید تغییر بدید. عدد مورد نظر حتما بیشتر از صفر و بر مبنای ده باشه.

بهتره خروجی lsusb رو قرار بدید تا بیشتر بشه راهنمایی کرد.
میدونید که زکات علم نشر آن است

آفلاین ashkan.2019

  • Jr. Member
  • *
  • ارسال: 81
این اسکریپت رو امتحان کنید
#!/bin/sh

set -e

readonly SYS_USB_DEVICES_DIR='/sys/bus/usb/devices'
readonly ID_VENDOR=''
readonly ID_PRODUCT=''
readonly WAITE=2
unset TARGET

[ ! -d "${SYS_USB_DEVICES_DIR}" ] && echo "${SYS_USB_DEVICES_DIR} directory does not exist" && exit 1

for usb_dev in "${SYS_USB_DEVICES_DIR}"/*; do

        [ ! -L "${usb_dev}" ] && continue

        if [ -r "${usb_dev}/idVendor" ] && [ -r "${usb_dev}/idProduct" ]; then

                  if [ "$(cat "${usb_dev}/idVendor")" = "${ID_VENDOR}" ] && [ "$(cat "${usb_dev}/idProduct")" = "${ID_PRODUCT}" ]; then
                        readonly TARGET="${usb_dev}"
                        break
                fi
        fi
done
unset usb_dev

[ -z "${TARGET}" ] && exit 0

echo '0' > "${TARGET}/authorized"
sleep "${WAITE}"
echo '1' > "${TARGET}/authorized"

مقادیر  متغیر‌های ID_VENDOR و ID_PRODUCT رو بر اساس id مربوط که از lsusb می‌گیرید، تغییر بدید.
برای مثال اگه idProduct برابر 008b و idVendor برابر a7fc باشه، خط‌های ۶ و ۷ به این شکل در میان:
readonly ID_VENDOR='008b'
readonly ID_PRODUCT='a7fc'
بزرگ و کوچک بودن حروف مهم هست.
مقدار متغیر WAITE رو هم می‌تونید تغییر بدید. عدد مورد نظر حتما بیشتر از صفر و بر مبنای ده باشه.

بهتره خروجی lsusb رو قرار بدید تا بیشتر بشه راهنمایی کرد.
بسیار عالی بود درست شد :) :)
من یه توضیحی برای دوستانی که همچین مشکلی رو دارن بدم که چیکار کردم :
اول اسکریپت Dragon- عزیز رو در یک فایل متنی مثلا با اسم usb-reset.sh ذخیره می کنیم.
بعد با دستور lsusb پورت مربوطه رو پیدا می کنیم :
Bus 002 Device 003: ID aaaa:bbbb Trendchip Technologies Corp.
Bus 002 Device 001: ID xxxx:xxxx Linux Foundation 2.0 root hub
Bus 007 Device 001: ID xxxx:xxxx Linux Foundation 1.1 root hub
Bus 006 Device 001: ID xxxx:xxxx Linux Foundation 1.1 root hub
Bus 005 Device 001: ID xxxx:xxxx Linux Foundation 1.1 root hub
Bus 001 Device 001: ID xxxx:xxxx Linux Foundation 2.0 root hub
Bus 004 Device 001: ID xxxx:xxxx Linux Foundation 1.1 root hub
Bus 003 Device 001: ID xxxx:xxxx Linux Foundation 1.1 root hub
بعد مقادیر ID_VENDOR و ID_PRODUCT رو به ترتیب در ابتدای اسکریپت قرار می دیم (من WAITE رو دست نزدم)
بعد اسکریپت رو executable اش می کنیم :
chmod +x usb-reset.shو در مسیر /lib/systemd/system-sleep/ کپی اش می کنیم :
sudo cp usb-reset.sh /lib/systemd/system-sleep/و تمام !
« آخرین ویرایش: 18 شهریور 1401، 04:53 ق‌ظ توسط ashkan.2019 »