1. Quirks?
Đầu tiên tôi sẽ xác nhận rằng việc đình chỉ của bạn hoạt động chính xác. Hãy xem trang quirks và xác nhận rằng hệ thống treo của bạn hoạt động chính xác và không chỉ có vẻ như nó hoạt động đúng.
2. Tập lệnh 001_s Something của bạn có thực thi được không?
Kiểm tra để đảm bảo rằng 001_something
tập lệnh của bạn có thể thực thi được!
% chmod +x 001_something
3. Tập lệnh 001_s Something của bạn có đúng không?
Kiểm tra để đảm bảo tập lệnh của bạn phù hợp với những gì pm-utils
đang mong đợi.
Kịch bản ví dụ
#!/bin/bash
case "$1" in
hibernate|suspend)
ACTION BEFORE SUSPEND/HIBERNATE
;;
thaw|resume)
ACTION AFTER RESUME
;;
*)
;;
esac
exit $?
LƯU Ý: Bạn có đang cố gắng sử dụng mạng trong hibernate|suspend
phần chính xác của câu lệnh case / switch không?
4. tập tin trong thư mục .d hoạt động (/etc/pm/suspend.d/ hoặc /usr/lib/pm-utils/s ngủ.d/)?
Tiếp theo, tôi sẽ xác nhận rằng 001_something
tập lệnh của bạn trên thực tế đã được chọn bằng cách tạm dừng / ngủ đông một cách chính xác bằng cách nó chỉ đơn giản lặp lại với một tập tin một chuỗi để bạn biết rằng nó đang hoạt động.
echo "yup I'm working" > /tmp/pmck_`date +%Y-%T`.log
Sau đó, bạn sẽ thấy các tập tin như pmck_2013-16:08:11.log
trong /tmp
.
5. / var / log?
Nếu thư mục .d ở trên đang hoạt động, tôi sẽ tạo một 001_something
và sao chép /var/log/pm-suspend.log
tệp mà bạn nghĩ đang bị ghi đè lên một số tệp khác bên dưới /tmp
, theo cách đó bạn ít nhất có thể xác nhận rằng việc ghi nhật ký là chính xác. Điều này có thể giúp bạn hiểu thêm về những gì đang xảy ra.
cp /var/log/pm-suspend.log /tmp/pmlg_`date +%Y-%T`.log
6. Số móc ngủ?
Ngoài ra, bạn có thể thay đổi tên của tệp hook của bạn thành 00-something
thay vì 001_something
? Không chắc chắn nhưng trang man chỉ ra những giá trị này.
SLEEP HOOK ORDERING CONVENTION
00 - 49
User and most package supplied hooks. If a hook assumes that all of the usual services and userspace infrastructure
is still running, it should be here.
50 - 74
Service handling hooks. Hooks that start or stop a service belong in this range. At or before 50, hooks can assume
that all services are still enabled.
75 - 89
Module and non-core hardware handling. If a hook needs to load/unload a module, or if it needs to place non-video
hardware that would otherwise break suspend or hibernate into a safe state, it belongs in this range. At or before
75, hooks can assume all modules are still loaded.
90 - 99
Reserved for critical suspend hooks.
7. Kết nối mạng?
Thêm phần sau vào 001_something
tập lệnh của bạn :
TMP=/tmp/pmip_`date +%Y-%T`.log
# network status?
ip link show > $TMP
# dns working?
dig google.com +answer >> $TMP
# can we ping google?
ping -c 5 www.google.com >> $TMP
8. Lỗi với pm-utils, HAL và Wheezy?
Tôi đã xem qua báo cáo lỗi debian này và tự hỏi liệu đây có phải là nguyên nhân của vấn đề của bạn. Lỗi này mô tả một vấn đề với HAL và pm-utils. Có vẻ như loại bỏ HAL khắc phục vấn đề mạng.
9. Thêm gỡ rối pm-utils gỡ lỗi
Ngoài ra, còn có liên kết này cung cấp lời khuyên cho việc tạm dừng / tiếp tục các vấn đề cụ thể đối với Debian. Có đề cập đến một cách để tăng ghi nhật ký của pm-utils bằng cách đặt một biến, PM_DEBUG=true
trong /usr/lib/pm-utils/pm-functions
tệp.
đoạn trích
Kích hoạt gỡ lỗi cho các tiện ích tối
Nhật ký của quá trình đình chỉ và tiếp tục có trong tệp /var/log/pm-suspend.log. Nó chứa thông tin dài vừa phải theo mặc định. Có thể thêm thông tin để gỡ lỗi bằng cách chèn dòng xuất PM_DEBUG = true vào phần đầu của tệp / usr / lib / pm-utils / pm-Hàm.
Có lẽ điều này có thể hữu ích trong việc cung cấp cho bạn cái nhìn sâu sắc hơn về những gì đang diễn ra với pm-utils!
10. ACPI tắt mạng trước pm-utils
?
Nếu vấn đề không xuất hiện pm-utils
, có thể là do acpi
. Khi bạn đóng nắp trên máy tính xách tay của bạn, một acpi
sự kiện được kích hoạt, sự kiện đó có một hành động liên quan đến nó.
Tệp SỰ KIỆN
% more /etc/acpi/events/lm_lid
event=button[ /]lid
action=/etc/acpi/actions/lm_lid.sh %e
Tập tin HÀNH ĐỘNG
% more /etc/acpi/actions/lm_lid.sh
#! /bin/sh
test -f /usr/sbin/laptop_mode || exit 0
# lid button pressed/released event handler
/usr/sbin/laptop_mode auto
Nhìn kỹ hơn laptop_mode
bạn sẽ thấy rằng công cụ này chịu trách nhiệm thực hiện nhiều việc khác nhau, một trong số đó là quản lý trạng thái của các thiết bị mạng của bạn.
chế độ máy tính xách tay duy trì một thư mục /etc/laptop-mode/conf.d
, tương tự như các công cụ unix khác. Trong đó có các tập tin liên quan đến ethernet và các thiết bị mạng không dây.
Trong cấu hình chính. tập tin /etc/laptop-mode/laptop-mode.conf
là khả năng bật tin nhắn dài dòng hơn. Có lẽ điều này sẽ làm sáng tỏ thêm về những gì đang xảy ra?
VERBOSE_OUTPUT=1
Tóm tắt những điều trên để thử dựa trên phản hồi của OP
1: Đình chỉ hoạt động khi có liên quan đến việc sử dụng pin và đèn LED ngủ trên máy tính xách tay của tôi. Nếu không, tôi không hiểu làm thế nào các trang web được đề cập sẽ giúp tôi tìm ra.
2: Nó là.
3: Có vẻ đúng.
4: Tôi nhận được những tập tin đó.
5: Tôi nhận được các tệp nhật ký tương ứng, nhưng chúng không hữu ích cho tôi.
6: 00 thay vì 001 không hiển thị bất kỳ sự khác biệt.
7: Những điều trong phần này chỉ kiểm tra kết nối mạng. Như đã nói trong câu hỏi của tôi, tôi không có kết nối mạng ngay khi tập lệnh được chạy. Thiết bị wlan0 không hoạt động. Các tệp nhật ký: http://paste.debian.net/231760 .
LƯU Ý: Tôi chưa cài đặt đào (thông báo lỗi. Trong nhật ký paste.debian.net), tuy nhiên rõ ràng là không có quyền truy cập mạng nào khả dụng (như đã nói). Tôi có thể thấy rằng nó bị hỏng bằng cách kiểm tra đầu ra của iwconfig, hiển thị liên kết ip, ping, ... Tập lệnh perl là tập lệnh được đề cập.
BTW, ngay sau khi dòng đầu tiên /usr/lib/pm-utils/bin/pm-action
được thực thi (từ upowerd), mạng đã ngừng hoạt động.
8: hal đã được cài đặt, loại bỏ nó không thay đổi bất cứ điều gì.