יום שלישי, ספטמבר 29, 2009

לפרסם קצת ומהר

מכירים את זה שיש לכם משהוא לא גמור ואתם לא מפרסמים את זה ... עוזבים את זה למחר ואיכשהוא שוכחים מזה.
אז הנה היום זה קרה לי שוב. ואוף זה עיצבן זה בדיוק כמו עם הפרוייקט cups-bill שזנחתי.
והחלק הכי מעצבן אני כמעט בטוח ששלחתי משהוא בנושא ל Linux-il ואדון גוגל לא מוצא שום איזכור בנושא.

טוב אז קיבלתי ליום ההולדת מכשיר נוקיה חדש Nokia N7210 supernova שישר חיברתי אותו לנייד שלי וניסיתי לסנכרן.
ולמה קיבלתי מכשיר למומלדת ? החברים שלי התיאשו מאיכות הצליל במכשיר הסלולר הישן שלי והם הבינו שכנראה אני לא הולך לרכוש OpenMoko בקרוב (למרות שאני ממש רוצה).

מה לא נסיתי לעשות לו , אני בכלל מופתע שהוא לא מת בתהליך. היי אבל נזכרתי בדי הרבה חומר וזה תרם לי בdispatcher שאני עובד עליו. להבין שהקשר בן התיעוד למציאות לא תמיד קיים.

Long story short , לאחר מספר ימים חסרי שינה חיפוש באג מטריף בlibgnokii4 הגעתי למסקנה שקל זה לא הולך להיות. עשיתי כמה סלטות באוויר (בצורת גיגולים) ומצאתי מספר דרכים לסנכרן:

שימוש בסנכרון של Obex :
בגלל שהמכשיר תומך ב Vcard 3 וגם בסנכרון של בסיסי נתונים ניתן להסתנכרן מול המכשיר באמצעות מודול של Obex:

syncml-obex-client -u 0 --slow-sync text/x-vcard Contacts --add text/x-vcard "/tmp/filename.vcf" --wbxml --identifier "PC Suite"
sleep 4;
פה מדובר על דחיפה על כבל (השגתי אותו בסופו של דבר) אבל ניתן לעשות זאת גם בבלותות.

הבעייה זה התיזמון לי לקח די הרבה זמן למצוא את התזמון בין כל חיבור אחרת החיבור היה נכשל (המכשיר היה נתקע).
מה שכן צורה זו איננה טובה כי מדובר פה בתור פיבונאצי של העברת אנשים (בכל הוספה אנו מבצעים קריאה לכל מה שכבר יש).
ישנה עדיפות ברורה לשימוש ב sync במקום בslow-sync אבל זה תלויי בהתנהגות המכשיר. שלי לא להצליח לעמוד במשימה של העברת 300 כתובות.
כמו כן יש בעייה בשמות קבצים בעיברית (המכשיר לא תומך בזה) ובמידה והקובץ מכיל יותר מרשומה אחת הוא מתעלם מהן (מתייחס רק לרשומה הראשונה).

אם המכשיר תומך ניתן להשתמש גם בשירות של Sync-ML שהמכשיר יסתנכרן מולו (המכשיר שלי לא תומך).
בגדול פשוט מרים שרת של Sync-ML ונותנים למכשיר להתחבר עליו (לי אין חבילת גלישה) זה זהה לשילחת SMS.

שימוש בדחיפה:

מצאתי כי כמעט כל מכשיר של נוקיה מאפשר הוספה ע"י SMS או קובץ שהגיע בבלותות (לא תמיד בכבל הנתונים).
מה שעשיתי היה פשוט לשלוח את משתמשי הקשר בבלותות למכשיר :

bluetooth-sendto --device=$PHONEMAC "/tmp/filename.vcf"

כאשר המשתנה מכיל את כתובת הMAC שביצעת מולו peer (נכון לרגע בו ניסיתי לבצע peer היה באג פתוח בדביאן KDE4על נושא הפירינג אני השתמשתי בpeer של גנום).
פתרון זה גרוע כי צריך לאשר כל משתמש חדש (אכשיו נסו לחוץ 200 פעם על אישור) :D

שימוש ב AT :

כמעט כל מכשיר סלולר מאפשר חיבור למודם הGSM שלו (ואני עובד יותר מדי זמן על מודול באסטריסק שייתן תמיכה גנרית לזה).
לי פשוט לא היה כוח להתעסק עם זה בגלל שלא היה לי כבל כשהייתי צריך את זה.
פקודות AT של נוקיה להוספה לספר הטלפונים. מאוד חשוב לשים לב לאן מוסיפים (לספר הטלפונים המאוכסן במכשיר ולא בסים).

כמו כן ניתן לשלוח הודעות SMS למכשיר אבל זה מחייב שוב פעם לחיצה על אישור לכל משתמש.

תוכנית שעושה את זה:

שימוש ב gnokii שזו תוכנית מצויינת שסינכנתי מולה המון מכשירים אבל דווקא עם המכשיר שלי היתה לה בעייה:

מה לא עשיתי בשביל למצוא למה יש sigsegv אפילו עירבתי שני מפתחים שיעזרו לי בנושא ואף אחד לא הצליח להבין למה בסנכרון עם ספר הטלפונים של המכשיר המכשיר ננעל (ובכך מפיל את התוכנית) יכול להיות שזה באג במכשיר עצמו.
לא הצלחתי למצוא משהוא איך בדיוק זה נגרם אבל בערך אחרי 100 - 150 העברות המכשיר פשוט נתקע או מבצע איתחול.

אם כן מה חסר לי בטלפון ? אפשרות של חיבור לרשת של המחשב:
בעוד אני יכול לגלוש עם המחשב דרך הטלפון לא הצלחתי לגרום למכשיר לגלוש דרך המחשב. כשאני חושב על זה טכנית זה אמור להיות אפשרי מעשית ... ממש אין לי כוח לחזור לכתוב בJava רק בשביל המכשיר הזה (אבל זה הזדמנות מצויינת).

2 comments:

  1. תקרא מה כתבתי בזמנו על חיבורי רשת בנוקיה. בדקתי את זה על שני סלולרים, בשתי רשתות שונות (לא הצלבתי... רק שתי בדיקות...) וזה נראה עובד.

    http://elcuco.blogli.co.il/archives/231

    השבמחק
  2. זה הפוך ממה שאני צריך , אתה מסביר איך שהמחשב יגלוש דרך מכשיר הסלולר שאת זה אני יודע לעשות. אני צריך שמכשיר הסלולר יגלוש דרך המחשב (הצד השני). בחלק מהמכשירים החדשים (N97 או N95 ) מצאתי איך אבל בשלי עוד לא מצאתי.

    השבמחק